Создание пользователя с удалённым доступом в MariaDB (MySQL).

0
119
Создание пользователя с удалённым доступом в MariaDB (MySQL).
Создание пользователя с удалённым доступом в MariaDB (MySQL).

Приветствую Вас, дорогой читатель! В этой статье речь пойдёт о процессе создания пользователя в СУБД MariaDB с возможностью подключения с разным машин. Красивого вступления я, к сожалению, придумать не смог, поэтому давайте перейдём сразу к делу 🙂

В качестве операционной системы будет использоваться openSUSE Leap 15.2, поэтому если Вы используете другой дистрибутив, то конфигурационные файлы могут находиться в других каталогах. В остальном всё, по большому счёту, будет идентично. Версия MariaDB: 10.4.17.

Проверим возможность подключения.

В первую очередь проверим, включена ли возможность на сервере MariaDB принимать подключения, исходящие не от локального хоста. Для этого откроем конфигурационный файл MariaDB (/etc/my.cnf) и найдём в нём строку bind-address

По умолчанию, значение будет 127.0.0.1 (принимать подключения только с локальной машины). Необходимо изменить данное значение на 0.0.0.0. Такая конфигурация позволит принимать подключения БД с любого IP адреса. Сохраняем изменения и перезапускаем MariaDB командой: systemctl restart mysql. Всё — сервер готов к приёму не локальных подключений. Выяснить, где именно у Вас расположен файл my.cnf (возможно будет называться по другому, зависит от дистрибутива) можно, посмотрев вывод статуса запущенной службы: systemctl status mysql

 

Создаём пользователя с необходимыми правами.

Теперь давайте создадим пользователя, который сможет подключаться с удалённых машин. Здесь я позволю себе сделать небольшое отступление и немного рассказать, как работают учётные записи в СУБД MariaDB (MySQL). Если вы, допустим, создали пользователя user@localhost, то подключиться к БД вы сможете только с локльной машины (localhost). То, что следует после @ является, если можно так выразиться, с какой машины возможно подключение к базе данных. Если же Вы создадите пользователя user@192.168.1.10, то подключиться Вы сможете только с машины, имеющей IP — адрес 192.168.1.10. Так же хочу отметить, что пользователь user@localhost НЕ равен пользователю user@%. Соответственно, привилегии выданные user@localhost не распространяются на пользователя user@%. Сейчас наша цель создать пользователя, который смог бы подключаться с любой машины. Для этого нам необходимо создать пользователя следующего вида: ‘имя_пользователя’@’%’. Знак % в данном случае говорит нашей БД, что IP — адрес может быть абсолютно любым. SQL — запрос, создающий нужного нам пользователя будет выглядеть следующим образом:

GRANT ALL ON имя_вашей_базы.* TO ‘имя_вашего_пользователя’@’%’ IDENTIFIED BY ‘ваш_пароль’;

Пример: GRANT ALL ON base.* TO ‘user’@’%’ IDENTIFIED BY ‘1q2w3e4r’;

После того, как Вы создали пользователя, необходимо перезагрузить таблицу привилегий. Для этого выполните следующий запрос: FLUSH PRIVILEGES;

На этом всё — можете пробовать подключаться к БД.

Буду признателен, если Вы оставите комментарий о том, помогла ли Вам эта статья?

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here