【问题标题】:How to Set Up MySQL on Linux to be Able to Connect to It Via mysql.mydomain.com?如何在 Linux 上设置 MySQL 以便能够通过 mysql.mydomain.com 连接到它?
【发布时间】:2018-09-04 17:50:03
【问题描述】:

我并不是专门寻找如何让 MySQL 接受远程连接 - 很多教程、论坛和博客都提到了这一点。但是,他们停止更改 my.cnf 配置文件,在该文件中,他们在 bind-address 设置中指定主机的 IP 地址。

我对让我不通过 IP 连接到我的 MySQL 的设置感兴趣 我的机器的地址,但通过 mysql.mydomain.com。我需要在哪里(或哪些配置文件)进行设置?我是否需要为 mysql.mydomain.com 创建一条 A 记录(尽管我认为 DNS 记录仅适用于端口 80/443 的内容)?

不,我不希望 mysql.mydomain.com 成为面向前端的 phpMyAdmin 或类似网站。当我从 MySQL Workbench 或来自 Web 应用程序的连接字符串的一部分连接到它时,我希望能够写这个而不是 IP 地址。

【问题讨论】:

    标签: mysql linux dns


    【解决方案1】:

    这是一个客户端问题。客户端(即应用程序运行的主机)需要能够将完全限定的主机名解析为 IP 地址。基本上它将运行函数gethostbyname()(在C 代码中)并返回IP 地址。

    这是任何客户端都可以找到其服务器的方式,而不仅仅是 MySQL 客户端。当您打开浏览器访问网站时,也会发生同样的事情。

    所以客户端需要解析'mysql.mydomain.com'。发生这种情况至少有两种常见的方式:

    1. 在客户端主机上编辑/etc/hosts。这允许您指定哪个 IP 地址与每个主机名一起使用。见http://man7.org/linux/man-pages/man5/hosts.5.html

    2. 使用 DNS。因为在许多应用程序客户端主机上维护 /etc/hosts 文件会很乏味,所以发明了 DNS。如果 /etc/hosts 中没有您想要解析的主机的本地定义,gethostbyname() 函数会自动检查 DNS。

    DNS 不仅适用于端口 80/443 连接(即默认 http/https 端口)。它适用于 any 主机名解析。它将被pingftpmysql 客户端、ssh 或任何其他通过主机名建立网络连接的客户端使用。

    【讨论】:

    • 我不确定 DNS 是否也适用于网站以外的应用,所以谢谢。
    猜你喜欢
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2018-04-24
    • 2020-07-30
    相关资源
    最近更新 更多