红宝石服务器文件,使用红宝石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'' –
總結
以上是生活随笔為你收集整理的红宝石服务器文件,使用红宝石MAMP作为本地服务器访问SQL语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联璧金融赔偿标准
- 下一篇: mysql500万数据查询速度_是什么影