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)

时间: 2024-10-27 02:46:25

ubuntu14.04使用rails连接mysql数据库的相关文章

mysql-JDBC 通过SSH Tunnel连接MySQL数据库

问题描述 JDBC 通过SSH Tunnel连接MySQL数据库 JDBC 通过SSH Tunnel连接MySQL数据库,在获取connection 的时候总是报查询信息太多,是怎么回事? 具体信息如下:Exception in thread "main" com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4739923 > 1048576). You can change this valu

insert-jsp语言如何连接mysql数据库

问题描述 jsp语言如何连接mysql数据库 jsp语言如何连接mysql数据库,进行表的增删改查?OA系统设计连接数据库,mysql驱动包在哪儿下载? 解决方案 在页面嵌入脚本代码,然后和在java中操作一样.只是,为什么要在页面上操作呢?这样页面编码可读性变得很糟糕,而且对于后期维护影响非常不好.最主要的是,这么设计没有主次,没有模式,对于横向扩展或者代码复用性都很不好. 解决方案二: jsp连接mysql数据库JSP 连接MYSQL数据库JSP连接MYSQL数据库 解决方案三: 建议你搜索

jsp连接mysql数据库大全

js|mysql|数据|数据库 初学jsp的网友经常会问数据库怎么连接啊,我集中的在这写篇文章供大家参考, 现在开始我们的jsp和数据库之旅吧! ●jsp连接MySQL数据库 testmysql.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <body> <%Class.

ASP连接MYSQL数据库教程示例

ASP连接MYSQL数据库 首先要在服务器上安装mysql odbc 3.51 ,还有数据库用户名及密码,实现代码示例如下. 以下是源代码:<%  strconnection="driver={mysql odbc 3.51 driver};database=weste_net;server=localhost;uid=root;password=" set conn = server.createobject("adodb.connection")  con

轻松应对JSP连接MySQL数据库问题

当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据. 以下用两种方式来实现JSP连接MySql数据库 第一种方式,用JSP实现: <%@ page contentType="text/html; charset=gb2312" language="java"  import="java.sql.*"%><m

实现JSP连接MySql数据库的两种方式

js|mysql|数据|数据库 当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据. 以下用两种方式来实现JSP连接MySql数据库 第一种方式,用JSP实现: <%@ page contentType="text/html; charset=gb2312" language="java"  import="java.sql.*

解决Linux下tomcat连接MySQL数据库问题

mysql|解决|数据|数据库|问题 解决Linux下tomcat连接MySQL数据库 在linux下,开发一个web应用,期间调用数据库时总是不成功,如果单独写一个类,并编译执行访问数据库,正常,但是用web应用来调这个类连接数据库,就会出现错误:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION **

JSP连接MySQL数据库问题

js|mysql|数据|数据库|问题   JSP连接MySQL数据库问题  当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据.   以下用两种方式来实现JSP连接MySql数据库   第一种方式,用JSP实现:   <%@ page contentType="text/html; charset=gb2312" language="java&qu

MFC连接MySQL数据库时编辑框出现中文乱码

环境:Visual Studio 2010 + MySQL Server 5.1 + Navicat for Mysql 8.2 问题:MFC连接MySQL 数据库,编辑框出现中文乱码. 解决: 使用MySQL C API,在连接上数据库查询数据前加上 如下代码: mysql_query(&m_sqlCon,"SET NAMES 'GB2312'"); //m_sqlCon是MYSQL类型 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www