ubuntu14.04使用rails连接mysql数据库
2015-01-27 10:15
417 查看
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安装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数据库
- ubuntu14.04使用rails连接mysql数据库
- ubuntu上使用mysql数据库连接rails项目
- 使用passenger+nginx在Ubuntu14.04服务器上部署rails应用填坑记
- ubuntu c++下连接mysql数据库和数据库的使用
- Ubuntu jsp平台使用JDBC来连接MySQL数据库
- 在ubuntu下使用Qt5.4连接mysql数据库出现错误
- Ubuntu 14.04 上使用 Nginx Passenger 部署 Ruby on Rails
- ubuntu下c++使用mysqlconnector连接mysql数据库
- Ubuntu 14.04 server配置使用无线连接静态设置IP
- 在ubuntu下使用Qt5.4连接mysql数据库出现错误
- 在ubuntu14.04中设置FTP,以及使用ultralEdit/SecureFX连接
- Ubuntu 14.04 LTS 系统中使用rbenv配置Ruby on Rails环境
- ubuntu下使用Python连接Mysql数据库和Mongodb数据库
- 远程连接Ubuntu14.04上的Mysql数据库
- Ubuntu下配置Tomcat服务器 mysql数据库并在windows中使用sqlyog 远程连接
- ubuntu14.04使用MySQL数据库安装配置Hive 1.2.1
- Ubuntu jsp平台使用JDBC来连接MySQL数据库
- Ubuntu 14.04(64bit)使用mentohust连接校园网
- Xrdp: 使用Xrdp协议远程连接Ubuntu14.04