使用Ruby访问MySql数据库
一、安装对应gem包
网上给的参考资料是使用 gem install Mysql2 这个命令来导入Mysql2的对应gem包,但是我在导入时提示无法连接对应的网址,
所以先下载对应gem包,再手动本地导入的方法
1.下载gem包:在 https://rubygems.org/gems/mysql2/versions/0.4.6-x64-mingw32 下载,在搜索框输入Mysql可以找到对应的gem包,再下载
下载的对应gem包:
2.本地安装gem包: gem install -l D:/ruby64/Ruby22/mysql2-0.4.6-x64-mingw32.gem (后面是gem包的路径即可)
二、编写访问数据库程序
require 'mysql2'
client = Mysql2::Client.new(
:host => '127.0.0.1', # 主机
:username => 'root', # 用户名
:password => 'root', # 密码
:database => 'mo_test', # 数据库
:encoding => 'utf8' # 编码
)
result = client.query("Select * from tb_user")
result.each do |item|
puts "User ID :#{item['uid']} ,and User name is :#{item['username']}"
end
三、测试
执行结果:
如图,执行rb文件之后,访问数据库成功,打印出数据表中的uid和用户的detail两个字段。
四、注意事项
在导入本地的mysql的gem包之后,执行程序时提示找不到 libmysql.dll 文件,一直没找到是什么原因,最后发现,Mysql是64位的,而Ruby是32位的,
重新安装了64位的Ruby之后,新导入mysql 的gem之后,就可以顺利访问Mysql了。
另外有些资料说要复制libmysql.dll文件,不知是否正确,本次测试只有一个步骤:就是下载然后本地导入gem,之后就是程序测试连接数据库成功了。
五、测试配置
Mysql是5.5:
Ruby是2.3.1: