ubuntu14.04使用rails连接mysql数据库

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

     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)



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
Ubuntu
虚拟机Ubuntu连接不了网络的解决方法
虚拟机Ubuntu连接不了网络的解决方法
|
25天前
|
分布式计算 关系型数据库 数据处理
Dataphin常见问题之没有建表的权限如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
27天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
366 3
|
23天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
66 0
|
4天前
|
SQL 关系型数据库 MySQL
DQL语言之连接查询(mysql)
DQL语言之连接查询(mysql)
|
4天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
17 1
|
6天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
13 0
|
7天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
24 0
|
15天前
|
存储 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT *、分页查询的优化、合理使用连接、子查询的优化)(上)
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT *、分页查询的优化、合理使用连接、子查询的优化)(上)
|
16天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
76 3