如何解决MySQL 8.0+ 用户“root”@“localhost”使用密码:NO的访问被拒绝
最初 MysqL -u root
工作正常。
然后我尝试使用以下命令重置 root
用户密码
UPDATE set authentication_string=PASSWORD("password") where User='root';
但是当我尝试 MysqL -u root -ppassword
时它正在抛出
access denied for user 'root'@'localhost' (using password: NO)
解决方法
因此要修复上述解决方案,请执行以下步骤:
- 首先使用
which mysql
在您的系统中搜索您的 mysql 脚本存在的位置
/usr/local/bin/mysql
- 运行
cd /usr/local/bin
- 然后寻找
mysql.server
文件并执行mysql.server stop
输出为:
关闭 MySQL
.成功!
- 运行
killall mysqld mysqld_safe
- 运行
mysqld_safe --skip-grant-tables &
- 然后尝试
mysql -u root
它会起作用
所以下一步是将root密码更新回<no-password>
- 运行
use mysql;
- 运行
Update user set authentication_string='' where User='root';
注意: 要更新 mysql 8.0+ 密码,请始终使用
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。