Ubuntu 14.04使用Rails串連MySQL資料庫

來源:互聯網
上載者:User

Ubuntu 14.04使用Rails串連MySQL資料庫

rails內建的sqlite3各方面都不錯,但是免費版缺少一個致命功能:加密碼!雖說第三方有編譯好的二進位版的加密版,但咱先不折騰鳥;直接上mysql吧.

Ubuntu安裝mysql非常簡單,先不聊;先說一下rails如何改為mysql驅動,用以下一條命令足矣:

rails new xxx -d mysql


因為新版的rails對mysql的支援使用的gem是mysql2,所以要在Gemfile中加上gem 'mysql2'一句;不過有了上面那條命令,rails會很聰明的自動在Gemfile中加上這句,so不用勞神鳥.

rails自然要下載安裝mysql2包,不過這裡會報錯,提示找不到mysql的標頭檔,看來需要下載mysql dev包之類的東西,可以用如下命令安裝:

sudo apt-get install libmysqlclient-dev


    這次rails new沒問題了,接下來我們建立一個model:

rails g scaffold book name:string count:integer price:integer remark:string


下面要建立一個新的資料庫:

rake db:migrate

出錯鳥,提示無法串連到mysql,mysql服務不在監聽狀態!好吧,我們現在開始安裝mysql伺服器端吧:

sudo apt-get install mysql-server


接著是mysql的用戶端:

apt-get isntall mysql-client


在安裝伺服器端時會提示輸入root密碼,我這裡輸入的是abc,如果是純數位話(比如123),在rails的database.yml配置中要用'123'括起來(具體我也沒有試,網上其他人的經驗之談).安裝完伺服器端可以用如下命令確定是否mysql後台開始監聽:

sudo netstat -tap|grep mysql


    如果mysql伺服器安裝完畢且處於監聽狀態的話,現在可以建立rails中的資料庫啦:

rake db:create -v

rake db:migrate

    linux下mysql資料庫路徑位置在:/var/lib/mysql


    我們可以確認下建立的的mysql資料庫;開啟終端,輸入指令:

mysql -u root -p

mysql會提示輸入密碼來登陸,輸入我們之前設定的密碼abc,成功登陸mysql;接下來可以使用show databases;查看存在的資料庫:

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| db_test_development |
| db_test_test        |
| mysql              |
| performance_schema  |
+---------------------+
5 rows in set (0.00 sec)


使用use mysql命令選擇一個當前的資料庫:

mysql> use db_test_development;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed


可以看一下資料庫中的所有表:

mysql> show tables;
+-------------------------------+
| Tables_in_db_test_development |
+-------------------------------+
| books                        |
| schema_migrations            |
+-------------------------------+
2 rows in set (0.00 sec)


最後讓我們看一下books表的結構:

mysql> show columns from books;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id        | int(11)      | NO  | PRI | NULL    | auto_increment |
| name      | varchar(255) | YES  |    | NULL    |                |
| count      | int(11)      | YES  |    | NULL    |                |
| price      | int(11)      | YES  |    | NULL    |                |
| remark    | varchar(255) | YES  |    | NULL    |                |
| created_at | datetime    | NO  |    | NULL    |                |
| updated_at | datetime    | NO  |    | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

Ubuntu下Apache伺服器安裝以及使用Passenger外掛程式部署Rails應用 

CentOS系統搭建Ruby On Rails平台

Ubuntu下搭建Ruby On Rails 

《Web開發敏捷之道應用Rails進行敏捷Web開發(原書第4版)》.((美)Sam Ruby).[PDF]+原始碼

Rails 的詳細介紹:請點這裡
Rails 的:請點這裡

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.