Rails和Mysql2访问被拒绝用户'root'@'localhost'(使用密码:NO)

spo*_*h22 16 mysql ruby-on-rails mysql2

我对Rails有些新意,我的大部分经验都让我感觉如何解决问题,所以如果我错过了明显的解决方案,我会提前道歉.我运行Windows机器.

我正在使用mysql2创建登录和注册.MySQL安装程序已经用于安装服务器,工作台等(我将root密码配置为密码),我已经安装了mysql2 gem.

导轨已成功捆绑,但是当我输入时rake db:create,Access denied for user 'root'@'localhost' (using password: NO)发生了错误.

然后Rails提示我输入密码,我输入密码但错误再次发生.第二次输入我的密码之后,似乎它工作正常,直到我尝试rails db:migrate再次出现错误,导致无法迁移.

这让我很困惑,因为在MySQL查询中,我的密码设置与我输入的密码相同.我尝试给'root'用户所有的架构权限,但这没有任何区别.请告诉我如何解决这个问题,谢谢.

如果您对我的问题有任何疑问,请询问.

zom*_*ast 22

对我帮助

$ mysql -u root -p

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword')
Run Code Online (Sandbox Code Playgroud)

在databse.yml

development:
adapter: mysql2
database: mydb
host: localhost
username: root
password: "mypassword" #I had an empty string here before
Run Code Online (Sandbox Code Playgroud)

感谢@ spongezh22

  • @zombie_ghast它对我不起作用。当我运行mysql时,它仍然会询问密码-u root -p密码与我在安装过程中设置的密码相同。请帮助我解决此问题。 (2认同)

Bha*_*oni 8

看起来您的用户无法连接到mysql数据库,请在您的控制台中尝试此命令

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

并在提示时输入密码为"admin"

如果这是可能的那么你应该好好去

而你的数据库yml文件应该是这样的

development:
 adapter: mysql2
 database: mydb
 host: localhost
 username: root
 password: mypass
Run Code Online (Sandbox Code Playgroud)