我在尝试访问mysql时遇到困难。这是我的第一次,所以请耐心等待我。
最初我尝试设置Ruby和Rails,并且在连接到服务器时,一切都正常工作,期望访问被拒绝,所以我运行了这个命令。
mysql -uroot -p
我尝试了各种密码,包括将其留空并收到此错误。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我假设我需要重置root用户的密码,但我似乎无法让它工作。
答案 0 :(得分:13)
一种方法:
使用--skip-grant-tables
选项启动MySQL服务器。它允许您在没有密码的情况下连接到服务器。
/path/to/mysqld --skip-grant-tables &
使用mysql客户端连接到您的服务器:
mysql
更改root密码(根据需要替换 NewPassord ):
UPDATE mysql.user SET password=PASSWORD('NewPassord') WHERE user='root';
重新启动MySQL服务器。
还有其他方法可以重置MySQL root密码: http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
答案 1 :(得分:0)
@Muur最后一步对我不起作用(mysql Ver 14.14 Distrib 5.7.19)我不得不将查询更改为update user set authentication_string=password('1111') where user='root';
update user set password_expired=N where user='root';
答案 2 :(得分:0)
我遇到了类似的问题,这就像一个魅力-
更高版本的mysql实现了更新的身份验证方案,并非所有库都与此保持一致。通过将以下条目添加到my.cnf中,您可以恢复为经典身份验证
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
# Some libraries not compatible with latest authentication scheme as per the SO article [1].
default-authentication-plugin=mysql_native_password
只需在/private/etc/my.cnf中添加以下内容
#仅允许来自本地主机的连接
绑定地址= 127.0.0.1
参考:https://www.reddit.com/r/mysql/comments/ae7rf4/access_denied_for_user_rootlocalhost_mac_os/