Разрешение удаленных подключений к MySQL/MariaDB
Для себя краткая шпаргалка как разрешить удаленный доступ как для root пользователя, так и вновь созданного пользователя.
Удаленный доступ к MySQL/MariaDB необходим, если база данных должна быть доступна с другого сервера или приложения, например:
- при разделении базы данных и веб-сервера,
- для администрирования с удаленной машины,
- при использовании кластеризации или репликации.
Разрешение подключений в конфигурации
По умолчанию MySQL/MariaDB слушает только локальные подключения 127.0.0.1
. Нужно изменить конфигурацию:
- MySQL :
/etc/mysql/mysql.conf.d/mysqld.cnf
- MariaDB :
/etc/mysql/mariadb.conf.d/50-server.cnf
Найти строку:
bind-address = 127.0.0.1
и заменить на:
bind-address = 0.0.0.0
Перезапустить сервер базы данных:
systemctl restart mysql # Для MySQL
systemctl restart mariadb # Для MariaDB
Разрешение удаленного доступа
Проверка текущих прав
Перед выдачей новых прав можно проверить текущие разрешения пользователей:
SELECT user, host FROM mysql.user;
+-------------+-----------+
| User | Host |
+-------------+-----------+
| mariadb.sys | localhost |
| mysql | localhost |
| root | localhost |
+-------------+-----------+
3 rows in set (0,001 sec)
Если в списке host
указан %
, значит root
уже имеет доступ со всех хостов.
Разрешение доступа для root
Выдать root права на удаленное подключение:
GRANT ALL ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
Создание нового пользователя с удаленным доступом
Создать пользователя с удаленным доступом:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';
Замените remote_user
и strong_password
на желаемые имя пользователя и пароль.
Выдать ему права на конкретную базу данных:
GRANT ALL ON database.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;
Выдать ему права на все базы:
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;
Отключение удаленного доступа
Для root
Отозвать права:
REVOKE ALL PRIVILEGES ON . FROM 'root'@'%';
Для нового пользователя
Отозвать права:
REVOKE ALL PRIVILEGES ON *.* FROM 'remote_user'@'%';
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.