首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL工作台发送带有登录名的计算机名,而不是IP

问MySQL工作台发送带有登录名的计算机名,而不是IP
EN

Server Fault用户
提问于 2013-11-04 18:16:15
回答 1查看 3.8K关注 0票数 2

我正在尝试将MySQLWorkbench连接到远程MySQL服务器。

服务器已授予对

代码语言:javascript
复制
user@IPAddress

但是,当我试图连接MySQLWorkbench时,它会发送

代码语言:javascript
复制
user@computername 

而不是。如何将连接配置为在MySQLWorkbench中使用IP地址?

参考:远程服务器位于本地网络上,因此我需要使用分配给我的客户端的本地IP地址。

编辑

到目前为止,我已经尝试过:

已执行

代码语言:javascript
复制
sudo service mysql start --skip-name-resolve

来自服务器:

代码语言:javascript
复制
mysql -u user@IPAddress -p --host=(ServerIPAddress)

返回:

代码语言:javascript
复制
mysql>

这就告诉我用户帐户是可操作的。此外,我确认它存在于以下方面:

代码语言:javascript
复制
select user from mysql.user;

返回一个包含所有用户的表,其中我使用的用户是存在的。

我还开通了3306港口:

代码语言:javascript
复制
sbin/iptables -A INPUT -i eth0 -s clientIPAddress -p tcp --destination-port3306 -j ACCEPT

但我还是遇到了

代码语言:javascript
复制
Access Denied for user
user@ComputerName (using password: YES)

答:我删除了原来的用户帐户。

代码语言:javascript
复制
DROP USER 'user@IPAdress'

并把它加回去:

代码语言:javascript
复制
GRANT ALL on foo.* To 'user'@'IPAdress' IDENTIFIED BY 'password';

勾号位置非常重要,因为用户名实际上是:

代码语言:javascript
复制
user@IPAdress

不

代码语言:javascript
复制
user

MySQLWorkbench现在可以连接了!

EN

回答 1

Server Fault用户

发布于 2013-11-04 18:20:34

MySQL会自动尝试对任何试图连接到它的IP进行反向DNS查找,而DNS名称将根据您的授权进行检查。

如果您使用mysqld选项启动--skip-name-resolve,它将跳过DNS查找并与IP地址匹配。

参考资料:http://dev.mysql.com/doc/refman/5.0/en/host-cache.html

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/550637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档