从远程主机登录到mysql服务器
我在执行命令时遇到问题从远程主机登录到mysql服务器,mysql,Mysql,我在执行命令时遇到问题 授权选择、插入、删除、更新 在dbname上* 输入由“密码”标识的用户名 从我的远程连接到我的服务器。它的反应是 错误1044(42000):拒绝用户'root'@'xxx.xxx.x.xx1'访问数据库'dbname' 我的服务器地址是xxx.xxx.x.xx1,我的远程机器地址是xxx.xxx.x.xx2 我使用以下命令从远程机器登录到MySQL服务器 sudomysql-hxxx.xxx.x.xx1-uroot-p 当我从远程连接运行命令select curren
授权选择、插入、删除、更新
在dbname上*
输入由“密码”标识的用户名代码>
从我的远程连接到我的服务器。它的反应是
错误1044(42000):拒绝用户'root'@'xxx.xxx.x.xx1'访问数据库'dbname'
我的服务器地址是xxx.xxx.x.xx1
,我的远程机器地址是xxx.xxx.x.xx2
我使用以下命令从远程机器登录到MySQL服务器
sudomysql-hxxx.xxx.x.xx1-uroot-p
当我从远程连接运行命令select current_user()
时,它返回root@'xxx.xxx.x.xx1'
。它不应该返回root@xxx.xxx.x.xx2“
我将所有权限添加到了root@'xxx.xxx.x.xx1
”和root@'xxx.xxx.x.xx2'
当我已经为远程连接的ip地址授予root访问权限时,为什么不能从远程机器执行该命令?select current\u user()
从远程计算机登录时是否应该返回我的远程计算机的ip地址或我的服务器的ip地址 解决了这个问题
首先,我将/etc/mysql/my.cnf中的绑定地址行从127.0.0.1更改为我的服务器地址
其次,我以root用户身份在我的服务器上本地登录mysql,并使用以下命令创建了另一个用户:
授予数据库名称上的选择、插入、更新、删除。*以newuser@my_remote_desktop_address由“密码”标识代码>
然后,我可以在新用户下登录到我桌面上的mysql并执行我的命令。它应该返回远程机器的地址。您是否可能有一个代理正在拦截连接并通过隧道?作为警告,您确实不应该远程使用您的root
用户帐户。您正在以明文形式传递根用户密码。@Barmar:我不相信我正在通过代理。您在使用SSL吗?检查root的my.cnf
文件中的sslxxx
选项。请参阅以了解另一种情况,其中服务器报告的连接来自其自己的IP而不是客户端。我检查了my.cnf文件,ssl XXX选项被注释掉。此外,我还执行了mysql>show变量,比如“%ssl%”
结果显示已禁用openssl
已禁用ssl