Как изменить адрес привязки (Bind Address) MySQL?

(Bind Address) MySQL База данных

MySQL — популярная система управления базами данных, доступная уже много лет. Благодаря своей гибкости и простоте управления он используется во многих небольших разработках и крупных проектах.

В большинстве случаев сервер MySQL и основное приложение размещаются на одном компьютере. Таким образом, MySQL прослушивает соединения только с локальной машины. Однако с появлением распределенных систем, в которых приложение и база данных размещаются на отдельных серверах, прослушивание на локальном хосте не совсем идеально.

Если такие случаи происходят, разработчикам необходимо убедиться, что MySQL прослушивает удаленные подключения или просто подключения за пределами локальной машины. Сделать это можно двумя способами:

  • Измените адрес привязки в файле конфигурации MySQL или
  • Получите доступ к серверу MySQL через туннель SSH.

В этом руководстве мы рассмотрим, как отредактировать файл конфигурации MySQL, чтобы изменить адрес привязки сервера MySQL.

Предварительные условия

Прежде чем мы начнем, убедитесь, что у вас есть:

  • Установлен сервер MySQL или MariaDB.
  • Пользователь root или учетная запись с привилегиями sudo.

Как только вы выполните указанные выше требования, мы сможем продолжить.

Шаг 1 — Отредактируйте конфигурацию 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:

По умолчанию установлено значение localhost

В моем примере я изменю адрес привязки на all, что позволяет серверу MySQL прослушивать все адреса IPv4.

bind-address        = 0.0.0.0

ПРИМЕЧАНИЕ. Если вы используете сервер MySQL версии 8.0 и выше, запись адреса привязки может быть недоступна. В этом случае вы можете добавить его в раздел [mysqld].

Если вас устраивают изменения в файле конфигурации

Если вас устраивают изменения в файле конфигурации, сохраните изменения и закройте редактор.

Читайте также:  Агрегатные функции SQL: полное руководство

Шаг 2 — перезапустите MySQL

Чтобы применить изменения к файлам конфигурации, необходимо перезапустить службу сервера MySQL. Вы можете сделать это, используя systemd как:

sudo systemctl restart mysql.service

Шаг 3 — Разрешите брандмауэр

По умолчанию MySQL прослушивает 3306, который иногда может блокироваться вашим брандмауэром. Чтобы разрешить порт сервера MySQL, используйте команду IP-таблиц как:

sudo iptables -A INPUT -p tcp —destination-port 3306 -j ACCEPT

Шаг 4 — Проверить соединение

После завершения всех настроек вы можете проверить соединение с сервером MySQL.

mysql -u root -h [mysql_remote/-ip] -p

Если у вас правильно настроен сервер, вы должны получить запрос пароля для конкретного пользователя.

Заключение

В этом кратком руководстве мы рассмотрели, как изменить адрес привязки MySQL, чтобы сервер MySQL мог прослушивать подключения за пределами локальной машины. Это может быть очень полезно при работе с распределенными системами.

Оцените статью
bestprogrammer.ru
Добавить комментарий