在Linux中安装MySQL出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)怎么解决
时间: 2023-11-17 18:03:45 浏览: 48
在Linux中安装MySQL出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)的错误通常是由于密码错误或者权限不足导致的。解决方法如下:
1.检查MySQL服务是否已经启动,可以使用以下命令检查:
```
systemctl status mysql
```
2.检查MySQL的root用户密码是否正确,可以使用以下命令登录MySQL:
```
mysql -u root -p
```
如果密码错误,可以使用以下命令修改密码:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
3.检查MySQL的root用户是否具有足够的权限,可以使用以下命令登录MySQL并检查:
```
mysql -u root -p
```
然后输入以下命令:
```
SHOW GRANTS FOR 'root'@'localhost';
```
如果root用户没有足够的权限,可以使用以下命令授权:
```
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
```
4.如果以上方法都无法解决问题,可以尝试重置MySQL的root用户密码,具体步骤如下:
- 停止MySQL服务
```
systemctl stop mysql
```
- 使用以下命令启动MySQL服务并跳过权限验证:
```
mysqld_safe --skip-grant-tables &
```
- 登录MySQL并修改root用户密码:
```
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
exit;
```
- 停止MySQL服务并重新启动:
```
systemctl stop mysql
systemctl start mysql
```
阅读全文