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数据库的更多相关文章

  1. Ubuntu12.04下Qt连接MySQL数据库

    本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...

  2. Ubuntu18.04下Qt5.9.8连接mysql数据库失败的解决办法

    问题: 连接mysql数据库时,出现如下 提示: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQ ...

  3. Linux系统下 解决Qt5无法连接MySQL数据库的方法

    Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...

  4. Ubuntu jsp平台使用JDBC来连接MySQL数据库

    Ubuntu 7.04 搭建Ubuntu jsp平台开发环境MySQL+tomcat+apache+j2sdk1.6在所有安装开始前先在Terminal中输入 rpm -q -a查看是否安装过rpm ...

  5. [技术博客]django连接mysql数据库的方法及部分问题的解决方法

    配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...

  6. Ubuntu16.04 安装和卸载MySQL数据库

    Ubuntu16.04 安装和卸载MySQL数据库 1 安装 安装非常简单,只需要三个命令 1.1 安装服务端 sudo apt-get install mysql-server 在这一步过程中会有提 ...

  7. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  8. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  9. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

随机推荐

  1. 关于AndroidSDK配置时的tools目录下找不到adb.exe的错误

    欢迎关注公众号,每天推送Android技术文章,二维码如下:(可扫描) 在配置android SDK的时候,有时会发现在android-sdk-windows\tools目录下并没有adb.exe,这 ...

  2. linu下C语言之BMP图片操作编程(下)

    前面提高了一个将BMP左转的程序,右转其实也是类似的操作,就不写了,这节,我们来实现,将一张BMP图进行灰度处理,代码贴上: #include <stdio.h> #include < ...

  3. 1.QT中播放视频,录音程序的编写

     1  通过process的方式播放视频 T22VideoPlayer.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gu ...

  4. 【Netty源码学习】入门示例

    Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.        也就是说,Netty ...

  5. love~LBJ,奥布莱恩神杯3

    时间:2016年6月20日8:00:地点:美国金州甲骨文(Oracle)球馆:事件:G7大战,又一次见证伟大赛季奥布莱恩神杯得主--金州勇士VS克利夫兰骑士......     可以说,这是NBA以来 ...

  6. 02网格布局Gridlayout

    <span style="font-size:18px;"><?xml version="1.0" encoding="utf-8& ...

  7. UNIX网络编程——心跳包

    所谓的心跳包就是在客户端和服务器端间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包. 一般是用来判断对方(设备,进程或其它网元)是否正常动行,一般采用定 ...

  8. Eclipse中pydev开发,python重载__init__报错,是可以正常执行

    python支持函数重载 而在使用Eclipse的pydev开发时,重载函数__init__时,却出现了错误duplicated 我想不到解决办法,但是居然能正常执行. pydev报错是编译错误,而p ...

  9. Android的资源类型和存储方式简介-android学习之旅(五十二)

    android资源的类型 android资源的存储方式

  10. Android进阶(二十五)setTextColor()的参数设置方式

    setTextColor()的参数设置方式 查了下资料发现setTextColor()的参数可以写成以下形式: 直接使用颜色值 setTextColor(0xFF0000FF);//0xFF0000F ...