Здравствуйте, друзья. В этой статье мы поможет вам включить удаленный доступ к MySQL. Хотя это не всегда рекомендуется, но иногда это может быть полезно.
По умолчанию, из соображений безопасности, удаленный доступ к MySQL отключен, а получить его можно только через Localhost. В большинстве случаев этого будет достаточно, но это не всегда так.
Практический случай заключается в том, что некоторые разработчики используют виртуальные машины для проведения тестирования и требуют удаленного подключения к ним. Кроме того, если вам нужно удаленно управлять базой данных, это также будет полезно.
В любом случае, как включить удаленный доступ в MySQL 8 требуется знать.
Включение удаленного доступа к MySQL
В этой статье предполагается, что у вас уже установлен MySQL. Так как эта база данных очень популярна, и мы написали множество статей о ней.
Например, как установить MySQL на CentOS или Ubuntu 22.04.
Чтобы включить удаленный доступ к MySQL, нам просто нужно изменить конфигурационный файл и изменить определенное поле.
В случае Debian и его производных, файл выглядит так /etc/mysql/mysql.conf.d/mysqld.cnf.
Поэтому вы можете сделать его резервную копию, прежде чем начать его редактировать.
sudo cp /etc/mysql/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak
Теперь отредактируйте его с помощью вашего любимого редактора.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Найдите директиву bind-address и измените ее значение на IP-адрес сервера и разрешите трафик с любого адреса.
bind-address = 0.0.0.0.0
Сохраните изменения и закройте редактор. Этого достаточно.
Чтобы применить изменения, просто перезапустите MySQL.
sudo systemctl restart mysql
Настройка пользователей для удаленного доступа к MySQL
Тот факт, что MySQL может принимать удаленные соединения, то это не означает, что пользователи имеют на это права. Поэтому необходимо разрешить такой доступ.
Для этого у вас есть два пути: изменить существующего пользователя (пользователей) или создать нового пользователя с определенными правами. Рекомендуем использовать второй вариант.
Первый вариант настройки пользователей для удаленного доступа к MySQL
Чтобы модифицировать созданного пользователя для разрешения удаленного доступа, необходимо обновить конфигурацию пользователя на сервере MySQL.
Во-первых, зайдите в консоль MySQL
sudo mysql -u root -p
И потом, запустите.
RENAME USER 'user'@'localhost' TO 'user'@'server-ip';
Далее выходите из консоли и все
Второй и более рекомендуемый вариант настройки пользователей для удаленного доступа к MySQL
Требуется создать нового пользователя для удаленного доступа с определенными (или всеми) правами на одну или несколько баз данных.
Войдите в консоль MySQL и создайте нового пользователя.
CREATE USER 'user'@'server-ip' IDENTIFIED BY 'password';
Далее назначьте соответствующие разрешения на базу данных. Как вы знаете, их очень много, но в данном случае я разрешу всё.
GRANT ALL PRIVELEGES on *.* TO 'user'@'server-ip' WITH GRANT OPTION';
Теперь осталось обновить разрешения.
FLUSH PRIVILEGES;
И выйте из консоли.
exit
Вот так просто.
Заключение
Включение удаленного доступа к MySQL необходимо во многих ситуациях. И не смотря на то что он отключен по соображениям безопасности, мы всегда можем его включить.