我创建了一个新的Rails项目,我使用了scaffold,然后尝试 rake db:create 。 我没有更改config / database.yml 所以密码为空(我总是输入我用来登录localhost / phpmyadmin的密码,但这次我忘记了)
发展: 适配器:mysql2 编码:utf8 重新连接:false 数据库:test_associations_development 游泳池:5 用户名:root 密码: socket:/tmp/mysql.sock
所以,回到终端我有以下消息:
$ rake db:create
Access denied for user 'root'@'localhost' (using password: NO).
Please provide the root password for your mysql installation
>
>*******(I entered my password here)
$ rake db:createrake aborted!
(<unknown>): couldn't parse YAML at line 31 column 2
Tasks: TOP => db:create => db:load_config
(See full trace by running task with --trace)
在此之后,我无法登录phpmyadmin,当我在本地运行我的应用程序时,我收到此错误:
Mysql2 ::错误
拒绝访问用户'root'@'localhost'(使用密码:YES)
我正在使用OS X 10.7.2,Rails 3.2,Ruby 1.9.3
任何想法??
答案 0 :(得分:10)
您可以尝试使用Terminal.app访问MySQL。在命令行运行:
mysql -u root
如果您希望root密码为空,但仍然可以看到:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
您知道密码已更改。
听起来根密码已被更改。如果您不知道它是什么,请按照以下说明重置密码:Resetting MySQL password。
答案 1 :(得分:3)
这个答案与发生此行为的Ruby on Rails框架有关
答案在here
第68行的GRANT命令中基本上它执行GRANT命令,凭据与您当前的database.yml
匹配我已经讨论过这个主题,行为会得到改善,并且会被视为一个错误。