MySQL — популярная система управления базами данных, доступная уже много лет. Благодаря своей гибкости и простоте управления он используется во многих небольших разработках и крупных проектах.
В большинстве случаев сервер MySQL и основное приложение размещаются на одном компьютере. Таким образом, MySQL прослушивает соединения только с локальной машины. Однако с появлением распределенных систем, в которых приложение и база данных размещаются на отдельных серверах, прослушивание на локальном хосте не совсем идеально.
Если такие случаи происходят, разработчикам необходимо убедиться, что MySQL прослушивает удаленные подключения или просто подключения за пределами локальной машины. Сделать это можно двумя способами:
В этой статье мы рассмотрим, как отредактировать файл конфигурации MySQL, чтобы изменить адрес привязки сервера MySQL.
Прежде чем мы начнем, убедитесь, что у вас есть:
Как только вы выполните указанные выше требования, мы сможем продолжить.
Первым шагом к изменению адреса привязки сервера MySQL является редактирование файла конфигурации.
По умолчанию файл конфигурации MySQL находится в /etc/mysql/mysql.conf.d/mysqld.conf для Ubuntu 20.10.
Расположение файла конфигурации может меняться в зависимости от установленного сервера MySQL и дистрибутива Linux.
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Пока файл открыт, найдите запись с содержимым как (адрес привязки) и измените значение на IP-адрес, который сервер должен прослушивать.
По умолчанию установлено значение localhost.
В моем примере я изменю адрес привязки на all, что позволяет серверу MySQL прослушивать все адреса IPv4.
bind-address = 0.0.0.0
Если вас устраивают изменения в файле конфигурации, сохраните изменения и закройте редактор.
Чтобы применить изменения к файлам конфигурации, необходимо перезапустить службу сервера MySQL. Вы можете сделать это, используя systemd как:
sudo systemctl restart mysql.service
По умолчанию MySQL прослушивает 3306, который иногда может блокироваться вашим брандмауэром. Чтобы разрешить порт сервера MySQL, используйте команду IP-таблиц как:
sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
После завершения всех настроек вы можете проверить соединение с сервером MySQL.
mysql -u root -h [mysql_remote/-ip] -p
Если у вас правильно настроен сервер, вы должны получить запрос пароля для конкретного пользователя.
В этой краткой статье мы рассмотрели, как изменить адрес привязки MySQL, чтобы сервер MySQL мог прослушивать подключения за пределами локальной машины. Это может быть очень полезно при работе с распределенными системами.
Спасибо, и поделитесь, помогла ли вам эта статья.