红宝石服务器文件,使用红宝石MAMP作为本地服务器访问SQL语句

我想使用红宝石作为前端工具来访问我的SQL数据库,但是我遇到了一些错误。首先,我使用MAMP作为在我的计算机上设置本地SQL服务器的工具,并且使用MYSQL工作台访问MAMP时没有问题,并且我已经建立了几个数据库。然而,当我试图使用此代码通过Ruby来访问数据库:使用红宝石MAMP作为本地服务器访问SQL语句

Vetles-的MacBook-PRO:

require 'mysql'

begin

connection = Mysql.new 'localhost', 'root', 'root', nil, 8889

connection.list_dbs.each do |db|

puts db

end

rescue Mysql::Error => e

puts e.errno

puts e.error

ensure

connection.close if connection

end

我在终端得到这个错误红宝石Vetle $红宝石sql.rb /Library/Ruby/Gems/2.0.0/gems/ruby​​-mysql-2.9.14/lib/mysql/protocol.rb:150:在initialize': No such file or directory - "/tmp/mysql.sock" (Errno::ENOENT) from /Library/Ruby/Gems/2.0.0/gems/ruby-mysql-2.9.14/lib/mysql/protocol.rb:150:in新的' from /Library/Ruby/Gems/2.0.0/gems/ruby -mysql-2.9.14/lib/mysql/protocol.rb:150:block in initialize' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/timeout.rb:52:in timeout' from /Library/Ruby/Gems/2.0.0/gems/ruby-mysql-2.9.14/lib/mysql/protocol。 rb:147:来自/Library/Ruby/Gems/2.0.0/gems/r的initialize' from /Library/Ruby/Gems/2.0.0/gems/ruby-mysql-2.9.14/lib/mysql.rb:115:in新“ ” uby-mysql-2.9.14/lib/mysql.rb:115:在connect' from /Library/Ruby/Gems/2.0.0/gems/ruby-mysql-2.9.14/lib/mysql.rb:50:in新' from sql.rb:4:in''

我想我必须改变mysql.sock的位置,但我不完全确定如何做到这一点。谁能帮忙?

编辑:的解决办法是:

require 'mysql'

begin

connection = Mysql.new 'localhost', 'root', 'root', nil, 8889, '/Applications/MAMP/tmp/mysql/mysql.sock'

connection.list_dbs.each do |db|

puts db

end

rescue Mysql::Error => e

puts e.errno

puts e.error

ensure

connection.close if connection

end

+0

只需找出位于'mysql.sock'的位置并添加套接字参数连接。或者,检查'my.cnf'是否为'socket = ...',并将其更改为'/ tmp/mysql.sock' –

+0

@YevgeniyAnfilofyev如何在ruby中为连接添加套接字参数? –

+0

我认为是这样的:'connection = Mysql.new'localhost','root','root',nil,8889,'/ tmp/mysql.sock'' –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值