修改密码后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost'
时间: 2023-09-26 20:07:21 浏览: 46
当你在终端上使用默认密码登录MySQL时,出现"Access denied for user 'root'@'localhost' (using password)"错误的原因是你的密码不正确。这个错误提示说明你提供的密码无法被MySQL接受,导致登录被拒绝。
要解决这个问题,你可以按照以下步骤操作:
1. 打开你在创建MySQL容器时挂载的conf目录下的mysqld.cnf文件。在这个文件中,你可以找到MySQL的配置信息。
2. 在mysqld.cnf文件中查找"skip-grant-tables"这一行。如果存在这一行,将其注释掉(在行前面加上#符号),然后保存文件。
3. 重启MySQL服务,让修改生效。你可以使用以下命令重启MySQL服务:
- 对于Docker容器:docker restart <容器名称>
- 对于本地安装的MySQL服务器:sudo service mysql restart
4. 现在你可以使用默认密码登录MySQL。在终端中键入以下命令:
mysql -u root -p
5. 当提示输入密码时,输入默认密码并按下回车键。
6. 成功登录后,你可以修改密码以避免以后再次出现登录问题。使用以下命令修改密码(将"your_new_password"替换为你想要设置的新密码):
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
7. 修改密码后,退出MySQL并重新登录以验证新密码是否生效。
通过以上步骤,你应该能够解决"ERROR 1045 (28000): Access denied for user 'root'@'localhost'"错误,并成功登录MySQL数据库。请记住,在实际操作中,确保你按照正确的格式和语法进行命令输入,以避免出现其他错误。