mysql如何反向解析IP地址?

bpe*_*kes 3 mysql

我们重启了一台运行mysql的机器,我们遇到了一些奇怪的问题.来自其他机器的大多数进程都可以毫无问题地连接到它们.如果我们明确地通过环回地址连接,我们也可以在本地连接.

这有效:

mysql -hlocalhost -utest_user -psecret_password
Run Code Online (Sandbox Code Playgroud)

当我们运行命令时:

mysql -h192.168.1.10 -utest_user -psecret_password
Run Code Online (Sandbox Code Playgroud)

在本地机器上我们收到以下错误:

ERROR 1045 (28000): Access denied for user `test_user`@`SERVER_123`
Run Code Online (Sandbox Code Playgroud)

我们有以下用户:

test_user@localhost
test_user@%
Run Code Online (Sandbox Code Playgroud)

我们通过添加以下用户修复了此问题:

test_user@SERVER_123
Run Code Online (Sandbox Code Playgroud)

其中SERVER_123是机器的非限定名称.我们不知道为什么我们必须添加额外的用户,我们不想保留它,但我们也不知道为什么添加它修复了问题.

为什么通过IP从本地计算机连接(即mysql -ha.bcd -utest_user -ppsswd)无法与test_user@%用户匹配,但是匹配test_user@machine_name,其中machine_name是机器的非限定名称?

这是用户表

anonymous    %
anonymous    SERVER_123
anonymous    localhost
test_user_2  %
test_user_3  %
root         ::1
root         127.0.0.1
root         SERVER_123
root         localhost

注意:找出问题所在.以某种方式重启机器必须改变192.168.1.10如何解决,以便它解析为SERVER_123.然后导致登录从192.168.1.10匹配test_user@ SERVER_123.

dan*_*865 5

我将看一下MySQL文档的这一部分中的排序规则:https://dev.mysql.com/doc/refman/5.7/en/connection-access.html

传入连接的客户端主机名和用户名可以匹配用户表中的多个行.

可能是您的用户被识别为具有不同密码的另一个用户.您的用户表中还有哪些其他条目?

根据新信息进行更新:您的登录信息被标识为'''%'用户.此用户具有不同的凭据,或者缺少必要的权限.