Ruby on Rails学习笔记(二 Ruby连接mysql数据库)


今天学习了ruby,正在配置mysql环境

一.安装mysql

在ubuntu中安装mysql环境很简单,只需要以下几条命令:

1. sudo apt-get install mysql-server

 
2. apt-get isntall mysql-client
 
3.  sudo apt-get install libmysqlclient-dev

检查mysql安装成功

sudo netstat -tap | grep mysql

 
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

登录mysql:

mysql -u root -p

接下来会提示输入密码

具体方法参见点击打开链接

mysql安装完毕,接下来要安装两个工具

1.dbi    ------即database interface,是ruby访问数据库的模块

2.dbd-mysql

关于数据访问层

ruby对每一种数据库都提供了一个相应的驱动(DataBase Driven,DBD),我们想要连接mysql数据库,就必须安装mysql驱动。

有了最底层的DBD,还不行,每一种DBD的使用方式还不一样,因此Ruby提供了一个基于DBD的接口-----DBI

DBI会把所有DBD整合在一起,也就是说有了DBI,不论你使用的数据库是mysql,sql server,oracle还是其它数据库,它们的操作方式都是一样的,你只需要修改一下配置文件就可以更换数据库。


使用 gem 安装 dbi 与 mysql驱动


gem install dbi

在这一步你很有可能安装失败,你需要先安装rails

gem install rails

然后再安装dbi 

gem install dbi


安装mysql驱动


gem install dbd-mysql


接下来安装mysql客户端api

gem install mysql2

上面这条命令我目前还没有搞明白它的用途,但是接下来我会有一段时间执行这条命令(gem install mysql)会报错,后来把mysql改成了mysql2,并且把路径切换到了项目路径下,然后就成功了,至今还十分费解。。。。
下面是可以安装成功的截图

Ruby on Rails学习笔记(二 Ruby连接mysql数据库)

接下来运行一段ruby访问数据库的代码进行测试
require "dbi"
begin
# 连接到 MySQL 服务器
dbh =DBI.connect("DBI:Mysql:TESTDB:localhost",
"root","159753")
# 获取服务器版本字符串,并显示
row =dbh.select_one("SELECT VERSION()")
puts"Server version: " +row[0]
rescue DBI::DatabaseError => e
puts"An error occurred"
puts"Error code: #{e.err}"
puts"Error message: #{e.errstr}"
ensure  #无论是否出现异常总是要执行这一段代码
# 断开与服务器的连接
  dbh.disconnect if dbh
end

然后。。。进行ruby LearnRuby.rb运行脚本



大功告成!



彻底删除mysql数据库:

1. sudo apt-get remove mysql-server

 
2. apt-get remove mysql-client
 
3.  sudo apt-get remove libmysqlclient-dev
4. sudo apt-get remove mysql-common    //这个很重要
上面的其实有一些是多余的。

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P