数据库
首页 > 数据库> > 如何在MySQL用户名中使用动态DNS名称?

如何在MySQL用户名中使用动态DNS名称?

作者:互联网

我在一个大的坏网络中有一台服务器,我想在我的家庭系统上运行一个mysql客户端来附加它.出于明显的安全原因,我希望MySql服务器只允许我的IP地址连接.我有一个dyndns.org帐户,可以跟踪我当前的IP地址. Comcast当然可以随时更改我的IP地址.

所以我创建了这样的用户:

CREATE USER 'user'@'mememe.dyndns.org' IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON mydata TO 'user'@'mememe.dyndns.org';

因此,当我尝试从家庭系统连接到此服务器时,我得到:

ERROR 1130 (HY000): Host 'c-98-234-122-18.hsd1.ca.comcast.net' is not allowed to connect to this MySQL server

当然,MySQL看到的主机名是RDNS查找IP地址的内容.我想要的是让它识别dyndns.org名称.有没有办法做到这一点?

如果没有办法做到这一点,这是否意味着我被迫创建带有通配符或特定IP地址的用户名?

解决方法:

问题是comcast主机名是该IP的规范反向查找名称,而不是您的DynDNS名称.你想做什么在MySQL中可能根本不可能.

但是,如果您有自己的服务器,那么从另一个角度处理这个问题怎么样 – 允许来自mySQL内的任何IP的连接,但是使用服务器的防火墙进行基于IP的过滤?一个成熟的防火墙产品可能有更多的可能性来解决这样的问题.

例如,This blog post显示了从动态DNS主机更新iptables记录的方法.也许这是一个开始.否则,“Linux Firewall Dyndns”或“iptables dyndns”等搜索查询可能会出现解决方案.

也许值得在Serverfault问一个单独的问题.

标签:mysql-management,mysql
来源: https://codeday.me/bug/20190729/1575193.html