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

这篇文章将为大家详细讲解有关MySQL登录数据库报'ERROR 1045错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

登录数据库时报错
[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)

关于“MySQL登录数据库报'ERROR 1045错误怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。