MySQL 与通配符(任何)用户和主机的连接冲突
MySQL connection conflict with wildcard (any) user and host
我的 MySQL 服务器上发生奇怪的用户冲突。
我有 2 个用户。实际上我被第一个通配符用户(任何用户@任何主机)困住了,为了安全不得不拒绝他的所有访问:
╔══════╦══════════════╦══════════╦═══════════════════╦═══════╗
║ User ║ Host ║ Password ║ Global privileges ║ Grant ║
╠══════╬══════════════╬══════════╬═══════════════════╬═══════╣
║ Any ║ % ║ No ║ USAGE ║ No ║
║ root ║ 10.15.15.115 ║ No ║ ALL PRIVILEGES ║ Yes ║
╚══════╩══════════════╩══════════╩═══════════════════╩═══════╝
第二个是我用的(忘了他没有密码)。当我尝试连接 'root'@'10.15.15.115'
时,MySQL 说:
Access denied to ''@'%'
即使我明确指定要连接到 'root'@'10.15.15.115'
为什么 MySQL 与第一个通配符用户混淆?
你用什么来连接?我假设命令行。如果是这样,您通过命令行进行的连接尝试看起来像这样吗?
mysql -u root -h 10.15.15.115
主机字段指定您要连接的主机来自,但我对您所写内容的看法听起来像是 10.15.15.115 是您要连接的服务器至.
如果 MySQL 无法匹配用户名和主机,它会回退到匿名用户(启用时),这看起来就像这里的问题。
根据你显示的结果,我不确定你是如何禁用匿名用户的,但我很确定问题是你的主机不匹配,因此它正在尝试匿名用户您已禁用它,导致出现错误消息。
设置用户时,请记住主机 localhost
、127.0.0.1
和 10.15.15.115
都是不同的连接,即使连接发生在同一台机器上需要使用正确的主机值才能连接。
我的 MySQL 服务器上发生奇怪的用户冲突。 我有 2 个用户。实际上我被第一个通配符用户(任何用户@任何主机)困住了,为了安全不得不拒绝他的所有访问:
╔══════╦══════════════╦══════════╦═══════════════════╦═══════╗
║ User ║ Host ║ Password ║ Global privileges ║ Grant ║
╠══════╬══════════════╬══════════╬═══════════════════╬═══════╣
║ Any ║ % ║ No ║ USAGE ║ No ║
║ root ║ 10.15.15.115 ║ No ║ ALL PRIVILEGES ║ Yes ║
╚══════╩══════════════╩══════════╩═══════════════════╩═══════╝
第二个是我用的(忘了他没有密码)。当我尝试连接 'root'@'10.15.15.115'
时,MySQL 说:
Access denied to ''@'%'
即使我明确指定要连接到 'root'@'10.15.15.115'
为什么 MySQL 与第一个通配符用户混淆?
你用什么来连接?我假设命令行。如果是这样,您通过命令行进行的连接尝试看起来像这样吗?
mysql -u root -h 10.15.15.115
主机字段指定您要连接的主机来自,但我对您所写内容的看法听起来像是 10.15.15.115 是您要连接的服务器至.
如果 MySQL 无法匹配用户名和主机,它会回退到匿名用户(启用时),这看起来就像这里的问题。
根据你显示的结果,我不确定你是如何禁用匿名用户的,但我很确定问题是你的主机不匹配,因此它正在尝试匿名用户您已禁用它,导致出现错误消息。
设置用户时,请记住主机 localhost
、127.0.0.1
和 10.15.15.115
都是不同的连接,即使连接发生在同一台机器上需要使用正确的主机值才能连接。