2

我需要将我的应用程序从 sqlite 移动到 mysql。我按照那个指南

http://help.nitrous.io/mysql/

安装了mysql,这是我的yaml文件

developement:
  adapter: mysql2
  encoding: utf8
  database: dev-db
  pool: 5
  timeout: 5000

test:
  adapter: mysql2
  encoding: utf8
  database: test-db
  pool: 5
  timeout: 5000

production:
  adapter: mysql2
  encoding: utf8
  database: prod-db
  pool: 5
  timeout: 5000

当我尝试这样做时, rake db:create我得到了这个错误

无法通过 socket '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)
无法为 {"adapter"=>"mysql2", "encoding"=>"utf8", "database"=>"test-db", "pool"=>5, "timeout"=>5000}, charset: utf8, collat​​ion: utf8_unicode_ci
(如果你手动设置 charset, 确保你有一个匹配的排序规则)

我需要做什么?

4

2 回答 2

2

您需要向 database.yml 添加一个套接字

获取套接字:

mysqladmin variables | grep socket

这给了我我的系统(OSX):

socket: /tmp/mysql.sock

在 Linux 上:

socket: /var/run/mysqld/mysqld.sock
于 2013-11-08T16:34:14.173 回答
0

Something similar happened to me, and I just changed the default password with

mysqladmin -u root password newpassword
于 2014-11-25T05:16:04.443 回答