Rails访问被拒绝用户'root'@'localhost'(使用密码:NO)请提供MySQL安装的root密码

时间:2015-12-21 15:03:57

标签: mysql ruby-on-rails ruby

我是关于rails的新手,我在Linux上使用mysql的 rake db:create 遇到了一些问题。

显示以下消息:

Access denied for user 'root'@'localhost' (using password: NO)Please provide the root password for your MySQL installation

我在互联网上搜索并做了很多建议,比如:

$ mysql -uroot -p
Enter password: 
UPDATE mysql.user SET Password=PASSWORD('test') WHERE User='root';
FLUSH PRIVILEGES;
exit

然后尝试再次使用db:db,但问题仍然存在。有人有这个问题,可以帮助我吗?

我也收到此消息:

Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8", "pool"=>5, "username"=>"root", "password"=>nil, "socket"=>"/var/run/mysqld/mysqld.sock", "database"=>"voting_development"}

解决方案:

在config / database.yml上我配置了mysql密码之后拼错了密码,之后它运行正常,多亏了Wand Maker。

2 个答案:

答案 0 :(得分:-1)

请按以下步骤操作: Reset mysql root password

答案 1 :(得分:-1)

1)您可以通过调用MySQL控制台来设置root密码。它位于

默认情况下为C:\ wamp \ bin \ mysql \ mysql5.1.53 \ bin。

转到目录并输入MySQL。然后设置密码如下..

> SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2)您可以通过编辑

为root用户配置wamp的phpmyadmin应用程序

C:\瓦帕\ APPS \ phpmyadmin3.3.9 \的config.inc.php 它看起来像这样:

    $cfg['Servers'][$i]['verbose'] = 'localhost';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['port'] = '';
    $cfg['Servers'][$i]['socket'] = '';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['extension'] = 'mysqli';
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
    $cfg['Servers'][$i]['AllowNoPassword'] = false;

当您将$ cfg ['Servers'] [$ i] ['AllowNoPassword']设置为false时,将解决“拒绝用户'root @ localhost'(使用密码:NO)”错误

注意:phpmyadmin是一个单独的工具,附带wamp。它只是为MySQL提供了一个接口。如果你更改我的sql root的密码,那么你应该更改phpmyadmin配置。通常phpmyadmin配置为root用户。