1045 Access denied for user 'root'@'localhost' (using password:NO)
时间: 2023-09-30 15:04:07 浏览: 80
错误代码1045表示MySQL数据库访问被拒绝。Access denied for user 'root'@'localhost' (using password:NO)意味着在尝试访问MySQL数据库时,未提供密码或密码不正确。解决此问题的方法如下:
1. 在Windows平台上重新设置root用户的密码。
- 打开命令提示符窗口。
- 输入以下命令并按Enter键:
```
mysqladmin -u root password NEW_PASSWORD
```
其中,NEW_PASSWORD是你想要设置的新密码。
- 如果提示输入当前密码,请忽略此步骤,直接输入新密码并按Enter键。
2. 在Linux平台上重新设置root用户的密码。
- 打开终端窗口。
- 输入以下命令并按Enter键:
```
sudo mysql
```
- 输入MySQL root用户密码(如果之前设置过)或直接按Enter键(如果之前没有设置密码)进入MySQL命令行。
- 输入以下命令并按Enter键:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';
```
其中,NEW_PASSWORD是你想要设置的新密码。
3. 如果以上方法仍然无效,可以尝试使用忘记密码的方法进行重置。
- 打开终端窗口。
- 停止MySQL服务,输入以下命令并按Enter键:
```
sudo service mysql stop
```
- 启动MySQL服务,并跳过权限检查,输入以下命令并按Enter键:
```
sudo mysqld_safe --skip-grant-tables &
```
- 打开新的终端窗口。
- 进入MySQL命令行,输入以下命令并按Enter键:
```
sudo mysql
```
- 输入以下命令并按Enter键:
```
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';
```
其中,NEW_PASSWORD是你想要设置的新密码。
- 退出MySQL命令行。
- 停止MySQL服务,输入以下命令并按Enter键:
```
sudo service mysql stop
```
- 启动MySQL服务,输入以下命令并按Enter键:
```
sudo service mysql start
```
- 现在可以使用新密码登录MySQL数据库。
阅读全文