我们重启了一台运行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.
我将看一下MySQL文档的这一部分中的排序规则:https://dev.mysql.com/doc/refman/5.7/en/connection-access.html
传入连接的客户端主机名和用户名可以匹配用户表中的多个行.
可能是您的用户被识别为具有不同密码的另一个用户.您的用户表中还有哪些其他条目?
根据新信息进行更新:您的登录信息被标识为'''%'用户.此用户具有不同的凭据,或者缺少必要的权限.
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |