暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

MySQL 登录报 ERROR 1045 (28000) 错误的问题汇总

原创 lps 2023-04-10
3106

Table of Contents


最近遇到一个 MySQL 登录报 ERROR 1045 错误 的问题,用户可以确认密码正确,现整理可能导致 ERROR 1045 错误 的原因。

ERROR 1045 解释

MySQL 登录报 ERROR 1045错误的问题原因汇总。
在Linux 服务器上我们可以通过 perror + 错误代码的方式进行查看具体的错误信息,比如 MySQL 的ERROR 1045 (28000) 错误可以通过 perror 1045 进行查看

[root@liups ~]# perror 1045 MySQL error code 1045 (ER_ACCESS_DENIED_ERROR): Access denied for user '%-.48s'@'%-.64s' (using password: %s)

关于此信息的解释如下:

此错误分为3部分,MySQL error code 1045 (ER_ACCESS_DENIED_ERROR) 是错误代码,Access denied for user ‘%-.48s’@‘%-.64s’ 是解释说明,用户’%-.48s’@‘%-.64s’ 拒绝访问,其中 ‘%-.48s’@‘%-.64s’ 用户部分根据登录的用户信息进行变化:@前面是你登录的-u 参数指定用户名 ,@ h后面是你当前服务器的ip地址(可以是localhost,具体的IP地址,也可以是当前主机的名称);(using password: %s)是说明 是否使用了密码,%S 通常是 YES或者 NO,就是本次登录是否使用了密码。

问题汇总及解决方案

  • 1、用户名、密码错误

    如字面意思,就是用户名/密码错误哈。
[root@liups ~]# mysql -uliups -p -h 127.x.x.9 -P3306 Enter password: ERROR 1045 (28000): Access denied for user 'liups'@'10.x.x.1' (using password: YES)

如提示,可以看到() 里的提示(using password: YES),说明本次操作使用了密码,输入了错误的用户名、密码,请确保输入正常的用户名、密码。如字面意思,检查用户名和密码是否正确。

  • 2、host 权限不足

[root@liupsdb~]# mysql -uliups -p -h192.x.x.1 Enter password: ERROR 1045 (28000): Access denied for user 'liups'@'10.x.x.1' (using password: YES)

如果确认用户名密码都正确,请检查上面报错信息的用户名@后面的IP地址(比如上面的例子是’10.x.x.1’ )是否在 mysql.userhost字段里。

mysql> select user,host from mysql.user where user='liups'; +------+-------------+ | user | host | +------+-------------+ | liups | 192.x.x.2 | +------+-------------+ 1 row in set (0.01 sec)

可以看到,10.x.x.1 的ip地址不属于/包含在192.x.x.2 里,说明 liups 用户在当前主机 ‘10.x.x.1’ 是没有访问权限的,需要调整权限,或者使用liups用户在允许的主机上(本例是 192.x.x.2) 上登录。

注意:
当报错是用户名@localhost 的时候需要注意:
当我们使用 mysql -uliups -p 不使用-h参数的时候,会报如下信息:

[root@liupsdb ~]# mysql -uliups -p Enter password: ERROR 1045 (28000): Access denied for user 'liups'@'localhost' (using password: YES)

需要检查是否有localhost的用户,如果只有用户@‘192.x.x.1’ 或者是ip范围缎的时候,localhost 是无法登录的,但是如果是用户@‘%’ 的时候是可以登录的。

mysql> select user,host from mysql.user where user='liups'; +------+----------------+ | user | host | +------+----------------+ | liups | 116.x.x.x | | liups | 172.x.x.% | | liups | 192.xx.1.1 | +------+----------------+ 3 rows in set (0.00 sec)

解决方案:
1、是新增-h参数指定服务器的ip
2、新增用户@'localhost’的用户
3、新增用户@'%’的用户

  • 3、没有输入密码

当没有输入密码的时候报错信息如下:

ERROR 1045 (28000): Access denied for user 'liups'@'localhost' (using password: NO)

using password: NO,说明当前没有输入密码,输入正确的密码即可。

最后修改时间:2024-01-21 19:38:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论