ubuntu14.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)
總結
以上是生活随笔為你收集整理的ubuntu14.04使用rails连接mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#函数式编程之标准高阶函数
- 下一篇: 天气预报开放API调用