mysql - 无法使用 ruby​​-mysql gem 连接到 MySQL

标签 mysql ruby rvm bundler

我使用 bundler 安装了 ruby​​-mysql gem。但是 Mysql.connect 正在崩溃并出现以下痕迹。

/home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql/protocol.rb:167:in `initialize': No such file or directory - /tmp/\
mysql.sock (Errno::ENOENT)
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql/protocol.rb:167:in `new'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql/protocol.rb:167:in `block in initialize'
        from /home/kris/.rvm/rubies/ruby-1.9.3-p194-perf/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql/protocol.rb:164:in `initialize'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql.rb:114:in `new'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql.rb:114:in `connect'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/ruby-mysql-2.9.10/lib/mysql.rb:49:in `new'
        from /home/kris/dev/dispatch/application.rb:38:in `<top (required)>'
        from config.ru:1:in `require'
        from config.ru:1:in `block in <main>'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
        from config.ru:1:in `new'
        from config.ru:1:in `<main>'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `eval'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/lib/rack/adapter/loader.rb:33:in `load'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/lib/thin/controllers/controller.rb:181:in `load_rackup_config'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/lib/thin/controllers/controller.rb:71:in `start'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/bin/thin:23:in `load'
        from /home/kris/.rvm/gems/ruby-1.9.3-p194-perf@dispatch/bin/thin:23:in `<main>'

我的机器运行的是 Ubuntu 12.04,我已经安装了 libmysqlclient-dev。我该如何解决这个问题?

谢谢

最佳答案

我认为您应该只更改 database.yml 中的套接字。

尝试改变它

/tmp/mysql.sock

/var/run/mysqld/mysqld.sock

关于mysql - 无法使用 ruby​​-mysql gem 连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704588/

相关文章:

ruby - RVM 不断在 MAC 中设置 ruby​​ 1.8.7 而不是最新版本 1.9

rvm Recipe 在 vagrant 中安装 ruby​​ 失败

PHP通过复选框 bool 值更改数据库的多个值

mysql - 如何更新一个有大量更新的表,同时保持表对大量用户的可用性?

mysql - 将 WHERE 与 JOIN 和 GROUP BY 结合使用

ruby-on-rails - 获取任何类型的 URL 格式的域名? -- PHP 到 Ruby

ruby-on-rails - 用作回调时, `return` 和 `break` 在 Ruby block 中是否无用?

ruby - Net::HTTPResponse 主体作为 IO

ruby - 多用户安装后 "bash: rvm: command not found"

php - 如何修改此 PHP 代码以返回嵌套结果