1045 - access denied for user 'u1' @'localhost'(using password:YES)
时间: 2023-11-22 07:51:00 浏览: 22
这个错误提示表明MySQL拒绝了用户' u1 '@' localhost'的访问请求,因为使用了错误的密码。以下是解决此问题的步骤:
1. 确保使用的用户名和密码是正确的,可以通过以下命令尝试登录MySQL:
```shell
mysql -u u1 -p
```
然后输入密码,如果可以成功登录,则说明用户名和密码是正确的。
2. 如果用户名和密码是正确的,但仍然无法登录,则可能需要重置密码。可以使用以下命令重置密码:
```shell
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='u1' AND Host='localhost';
FLUSH PRIVILEGES;
```
然后使用新密码尝试登录MySQL。
3. 如果重置密码后仍然无法登录,则可能需要检查MySQL服务器是否允许远程连接。可以通过以下命令检查:
```shell
SHOW VARIABLES LIKE 'bind_address';
```
如果结果为'127.0.0.1',则表示MySQL服务器只允许本地连接。如果需要允许远程连接,则需要将bind_address设置为服务器的IP地址或0.0.0.0。可以通过以下命令更改:
```shell
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
```
找到bind-address = 127.0.0.1并将其更改为bind-address = 0.0.0.0或服务器的IP地址。然后保存并关闭文件,最后重启MySQL服务:
```shell
sudo service mysql restart
```