Ruby on Rails学习笔记(二 Ruby连接mysql数据库)
今天学习了ruby,正在配置mysql环境
一.安装mysql
在ubuntu中安装mysql环境很简单,只需要以下几条命令:
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
检查mysql安装成功
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登录mysql:
mysql -u root -p
接下来会提示输入密码
具体方法参见点击打开链接
1.dbi ------即database interface,是ruby访问数据库的模块
关于数据访问层
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访问数据库的代码进行测试
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
4. sudo apt-get remove mysql-common //这个很重要
上面的其实有一些是多余的。
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P