Как настроить MySQL в Linux, чтобы иметь возможность подключиться к нему через mysql.mydomain.com? - PullRequest
0 голосов
/ 04 сентября 2018

Я специально не ищу, как заставить MySQL принимать удаленные подключения - об этом говорится во многих руководствах, форумах и блогах. Однако они останавливаются на внесении изменений в файл конфигурации my.cnf, где они задают IP-адрес хост-машины в параметре bind-address.

Я заинтересован в настройке, которая позволяет мне подключаться к MySQL НЕ по IP адрес моей машины, но на mysql.mydomain.com. Где (или какие файлы конфигурации) мне нужно это настроить? Нужно ли мне создавать запись A для mysql.mydomain.com (хотя я думаю, что записи DNS предназначены только для портов 80/443)?

Нет, я не хочу, чтобы mysql.mydomain.com был фронтальным phpMyAdmin или подобным сайтом. Я хочу иметь возможность писать это вместо IP-адреса при подключении к нему из MySQL Workbench или части строки подключения из веб-приложения.

1 Ответ

0 голосов
/ 04 сентября 2018

Это проблема клиента. Клиент (то есть хост, на котором запущено приложение) должен иметь возможность преобразовать полное имя хоста в 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. Функция gethostbyname() автоматически проверяет DNS, если в / etc / hosts нет локального определения хоста, который вы хотите разрешить.

DNS НЕ предназначен только для соединений через порт 80/443 (то есть порты http / https по умолчанию). Это для любого разрешения имени хоста. Он будет использоваться ping, или ftp, или mysql клиентом, или ssh, или любым другим клиентом, который устанавливает сетевые подключения по имени хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...