如何在linux上设置mysql,以便通过mysql.mydomain.com连接到它?

ctzwtxfj  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(522)

我不是专门寻找如何使mysql接受远程连接-这是在这么多的教程,论坛和博客解决。然而,他们停止了对 my.cnf 配置文件,它们在其中指定主机上的ip地址 bind-address 设置。
我很感兴趣的设置,让我连接到我的mysql不是我的机器ip地址,而是通过mysql.mydomain.com。我需要在哪里(或什么配置文件)设置这个?我是否需要为mysql.mydomain.com创建一个a记录(尽管我认为dns记录只适用于端口80/443之类的东西)?
不,我不希望mysql.mydomain.com成为一个面向前台的phpmyadmin或类似网站。当我从mysql工作台连接到它或者从web应用程序连接到一个连接字符串的一部分时,我希望能够写这个而不是ip地址。

v1l68za4

v1l68za41#

这是客户的问题。客户端(即应用程序运行的主机)需要能够将完全限定的主机名解析为ip地址。基本上它会运行这个函数 gethostbyname() (在c代码中)并返回ip地址。
这是任何客户机查找其服务器的方式,而不仅仅是mysql客户机。当你打开一个网站的浏览器时,同样的事情也会发生。
所以客户端需要解析“mysql.mydomain.com”。这种情况至少有两种常见的发生方式:
编辑 /etc/hosts 在客户端主机上。这允许您指定每个主机名对应的ip地址。看到了吗http://man7.org/linux/man-pages/man5/hosts.5.html
使用dns。因为在许多应用程序客户端主机上维护/etc/hosts文件会很乏味,所以发明了dns。这个 gethostbyname() 如果/etc/hosts中没有要解析的主机的本地定义,则函数会自动检查dns。
dns不仅用于端口80/443连接(即默认的http/https端口)。它适用于任何主机名解析。它将被 ping ,或 ftp 或者 mysql 客户,或 ssh 或通过主机名进行网络连接的任何其他客户端。

相关问题