mysql shell ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
时间: 2024-01-02 10:22:57 浏览: 79
MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办
当出现mysql shell错误1045(28000):Access denied for user 'root'@'localhost'(using password: NO)时,这意味着您尝试以root用户身份登录MySQL,但未提供密码。要解决此问题,您可以按照以下步骤操作:
1. 使用以下命令以root用户身份登录MySQL:
```shell
mysql -u root -p
```
2. 您将被提示输入密码。如果您忘记了密码,请继续下一步。
3. 如果您忘记了密码,可以通过以下步骤重置root用户的密码:
a. 停止MySQL服务:
```shell
sudo service mysql stop
```
b. 使用以下命令以跳过权限验证的方式启动MySQL服务:
```shell
sudo mysqld_safe --skip-grant-tables &
```
c. 打开另一个终端窗口,并使用以下命令登录到MySQL:
```shell
mysql -u root
```
d. 在MySQL命令提示符下,使用以下命令更新root用户的密码:
```shell
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
```
e. 刷新权限:
```shell
FLUSH PRIVILEGES;
```
f. 退出MySQL:
```shell
exit;
```
g. 停止MySQL服务:
```shell
sudo service mysql stop
```
h. 启动MySQL服务:
```shell
sudo service mysql start
```
4. 现在,您可以使用新密码以root用户身份登录MySQL:
```shell
mysql -u root -p
```
阅读全文