我整天都在阅读文档,却不了解问题所在:
1)我的用户在服务器上拥有正确的权限
远程主机上的数据库配置有GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'10.x.x.x' WITH GRANT OPTION
。我应该提到10.x.x.x
是我团队的mysql堡垒代理的IP。
2)我的帐户在另一台具有相同IP的计算机上运行良好
当我们团队的一名成员尝试使用我的密码使用mysql -h mysqlserver.mycompany.com -u myuser -p
连接到远程主机时,没有问题。由于他们使用与我相同的代理堡垒(通过vpn),因此从服务器的角度来看,它们具有相同的IP
3)尝试从我的计算机进行连接会导致“访问被拒绝”。
但是当我从计算机上尝试时,出现错误ERROR 1045 (28000): Access denied for user 'myuser'@'ip-10-x-x-x.zone.foo.bar' (using password: YES)
。而且我应该提到,这不是网络问题,因为我可以在服务器上使用ssh
4)这不是密码输入错误
我尝试在终端中键入密码以检查是否输入正确,以防万一我没有正确的键盘布局,但没关系。
5)错误日志显示了相同的问题
我还尝试激活错误日志以查看mysql的输出,但是从服务器2019-08-26T13:37:52.287792Z 314 [Note] Access denied for user 'myuser'@'ip-10-x-x-x.zone.foo.bar' (using password: YES)
在错误日志中得到了相同的错误
6)禁用DNS解析不会产生任何影响
我还尝试使用标志--skip-name-resolve
重新启动mysql服务器,但是随后得到ERROR 1045 (28000): Access denied for user 'myuser'@'10.x.x.x' (using password: YES)
,并且在服务器的错误日志中也出现了类似的消息。因此基本上从我的计算机中拒绝了被授予访问权限的同一用户。
7)我的感觉是服务器正常,但是客户端配置不正确
到目前为止,我所做的所有工作都使我认为服务器没有配置问题。实际上,我团队中的其他成员都是按照与我相同的方式配置的,他们可以使用自己的帐户或我的帐户毫无问题地连接到服务器。但是当我在Debian Buster上时,它们仍然处于Debian的旧状态。因此,我最大的假设是我的mysql版本受到某种诅咒,不会发送正确的请求
这是我的mysql版本(几个月前,Debian已选择使用mariadb客户端代替mysql,但请确保这是一个替代产品)
mysql Ver 15.1 Distrib 10.3.15-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
我找不到证据证明玛丽亚德是罪魁祸首。我搜索了该客户端的替代版本,但官方的mysql repos并未针对debian发行(它们仅支持Ubuntu)
结论
我有点想法了。我还应该尝试解决什么问题?