您的位置:宽带测速网 > mysql教程 > MySQL登录数据库报'ERROR 1045错误怎么办

MySQL登录数据库报'ERROR 1045错误怎么办

2025-06-24 08:02来源:互联网 [ ]

登录数据库时报错
[root@localhost install]# mysql -uzabbix -p
Enter password:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

查看数据库中的用户
[root@localhost install]# mysql -uroot -p
mysql> select host,user from mysql.user;
+-----------------------+--------+
| host | user|
+-----------------------+--------+
| % | zabbix |
| 127.0.0.1 | root|
| localhost ||
| localhost | root|
| localhost.localdomain ||
| localhost.localdomain | root|
+-----------------------+--------+
6 rows in set (0.00 sec)

报错原因:

在user授权表中,zabbix用户被赋予了在所有主机登录的权限,但是没有在localhost的登录权限;在MySQL中,localhost的登录需要使用socket的方式,而其他的登录则使用-h指定IP或主机名的方式

解决方法:
使用-h通过IP登录即可
[root@localhost install]# mysql -h 10.10.10.10 -uzabbix -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user();
+--------------------+
| user() |
+--------------------+
| zabbix@10.10.10.10 |
+--------------------+
1 row in set (0.00 sec)