zaLinux.ru

Как включить доступ root к MySQL и MariaDB с любых хостов


Для того чтобы пользователь root (или любой другой пользователь) мог подключиться с СУБД MySQL с удалённого хоста, необходимо выполнение двух условий:

1) в свойствах пользователя должно быть разрешено подключаться с удалённых хостов

2) СУБД должна прослушивать входящие соединения не только с localhost/127.0.0.1, но и на интерфейсах с внешними IP адресами.

В этой инструкции мы включим доступ root к MySQL и MariaDB с удалённых хостов.

Этот процесс состоит из двух этапов:

а) Настройка привилегии. Выполните как пользователь root, заменив 'ПАРОЛЬ' текущим паролем root:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ПАРОЛЬ';

б) Разрешить MySQL прослушивать все сетевых интерфейсы для возможности подключения с внешних IP:


Самый простой способ — закомментировать строку в файле my.cnf, чтобы получилось так:

#bind-address = 127.0.0.1

Файл mysql.cnf может быть расположен по следующим путям:

  • /etc/mysql/conf.d/mysql.cnf
  • /etc/mysql/mariadb.cnf
  • /etc/mysql/mysql.conf.d/mysqld.cnf

Чтобы изменения вступили в силу, перезапустите службу mysql:

sudo systemctl restart mysql

По умолчанию прослушивается только соединения с localhost, но если вы закомментируете строку, MySQL откроет порты для входящих соединений на всех интерфейсах. Комментирование строки эквивалентно bind-address=*.

Чтобы проверить, какие порты прослушивает служба mysql:

ss -tulpn | grep -E 'mysql|mariadb'

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *