mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
时间: 2023-12-03 08:40:59 浏览: 153
这个错误通常是由于使用了错误的用户名或密码,或者没有为用户授予足够的权限。以下是一些可能的解决方法:
1. 确保使用正确的用户名和密码登录MySQL。可以尝试使用以下命令登录MySQL:
```shell
mysql -u root -p
```
然后输入正确的密码。
2. 确保为用户授予了足够的权限。可以尝试使用以下命令为用户授予所有权限:
```shell
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
```
其中,'password'应替换为正确的密码。
3. 如果您正在使用远程MySQL服务器,请确保已启用远程访问。可以尝试编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,并将bind-address设置为0.0.0.0,然后重启MySQL服务。
4. 如果您仍然无法解决问题,请尝试重置root用户的密码。可以使用以下命令:
```shell
sudo /etc/init.d/mysql stop
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set authentication_string=password('new-password') where user='root';
flush privileges;
quit;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
```
其中,'new-password'应替换为您想要设置的新密码。
阅读全文