【发布时间】:2010-04-20 05:26:15
【问题描述】:
我正在尝试在我的 OSX 10.6.3 机器上使用 rails 的 getting started guide 来实现我的第一个“hello world”rails 示例。
当我去执行第一个rake db:create 命令时(我正在使用mysql)我得到:
simon@/Users/simon/source/rails/blog/config: rake db:create (in /Users/simon/source/rails/blog) Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"=>"root", "adapter"=>"mysql", "database"=>"blog_development", "pool"=>5, "password"=>nil, "socket"=>"/opt/local/var/run/mysql5/mysqld.sock"}, charset: utf8, collation: utf8_unicode_ci (if you set the charset manually, make sure you have a matching collation)
我发现很多 stackoverflow 问题通过以下建议解决了这个问题:
验证用户和密码是否正确(我在我的开发盒上运行时没有 root 密码)
验证套接字是否正确 - 我可以 cat 套接字,所以我认为它是正确的
-
验证用户是否可以创建数据库(如您所见,root 可以连接并创建此数据库没问题)
simon@/Users/simon/source/rails/blog/config: mysql -uroot -hlocalhost 欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。 您的 MySQL 连接 ID 为 16 服务器版本:5.1.45 源码分发
键入“帮助;”或 '\h' 寻求帮助。输入 '\c' 清除当前输入语句。
mysql> 创建数据库 blog_development; 查询正常,1 行受影响(0.00 秒)
为了确保这不是字符集问题,我也尝试过:
mysql> create database foobar CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
注意:这是我的 database.yaml:
development:
adapter: mysql
encoding: utf8
reconnect: false
database: blog_development
pool: 5
username: root
password:
socket: /opt/local/var/run/mysql5/mysqld.sock
# host: localhost
请注意,我尝试将套接字切换到本地主机,但没有任何效果。
对这里可能发生的事情有任何想法吗?
【问题讨论】:
标签: ruby-on-rails ruby rake