解决Mysql_ERROR 1045 (28000)_Access denied for user ‘root‘@‘localhost‘ (using password_ NO)的方法
遇到 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
错误时,通常是因为尝试以 root 用户身份登录 MySQL 时没有提供密码或提供的密码不正确。以下是解决此问题的步骤:
-
检查是否设置了密码:
- 如果从未为 root 用户设置过密码,可以尝试在命令行中直接输入
mysql -u root
登录。 - 如果之前设置过密码,确保使用正确的密码尝试登录。
- 如果从未为 root 用户设置过密码,可以尝试在命令行中直接输入
-
重置 root 密码:
- 停止 MySQL 服务:
sudo systemctl stop mysql
或sudo service mysql stop
- 启动 MySQL 跳过权限表:
sudo mysqld_safe --skip-grant-tables &
- 重新连接到 MySQL:
mysql -u root
- 在 MySQL 提示符下,选择 MySQL 数据库:
USE mysql;
- 更新 root 用户的密码:
UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES;
- 退出 MySQL:
exit
- 重启 MySQL 服务:
sudo systemctl start mysql
或sudo service mysql start
- 使用新密码登录:
mysql -u root -p
- 停止 MySQL 服务: