Это проблема клиента. Клиент (то есть хост, на котором запущено приложение) должен иметь возможность преобразовать полное имя хоста в 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()
автоматически проверяет DNS, если в / etc / hosts нет локального определения хоста, который вы хотите разрешить.
DNS НЕ предназначен только для соединений через порт 80/443 (то есть порты http / https по умолчанию). Это для любого разрешения имени хоста. Он будет использоваться ping
, или ftp
, или mysql
клиентом, или ssh
, или любым другим клиентом, который устанавливает сетевые подключения по имени хоста.