mysql8 error 1045 (28000): access denied for user 'root'@'localhost' (using
时间: 2023-10-01 21:03:07 浏览: 42
在 MySQL 8 中,出现错误 1045 (28000) 的原因是访问被拒绝,无法使用给定的用户和密码连接到 MySQL 服务器。
解决这个问题的方法是:
1. 确保使用的用户名和密码正确。默认情况下,MySQL 8 使用了更强的身份验证机制,需要在初始化时生成临时密码。你可以使用以下命令登录到 MySQL 服务器并重置root用户的密码:
```
sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
FLUSH PRIVILEGES;
```
其中,`new_password` 是你想要设置的新密码。
2. 如果你无法使用 root 用户进行身份验证,可以尝试通过创建新的管理员用户来解决。首先,以 root 身份登录到 MySQL 服务器,并执行以下命令创建新的管理员用户:
```
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
其中,`new_user` 是你要创建的新用户的名称,`password` 是该用户的密码。
请注意,上述解决方案假设你有足够的权限来执行这些操作。如果你没有足够的权限,请联系 MySQL 系统管理员或数据库管理员寻求帮助。
阅读全文