Войти
ГлавнаястатьиПрограммирование

Как настроить удаленный доступ к базе данных MySQL 8 на Linux Ubunty

Просмотрено 200 раз Добавлено 1 месяц назад

Приветствую. Настройка VPS или VDS дело не совсем простое. Поэтому записываю этот мануал чтобы вы поняли как настроить удаленный доступ к базе данных Mysql версии 8.

Мы разберем здесь несколько задач:

  • Как подключиться к Mysql из консоли
  • Как открыть доступ ко всем IP адресам или одному определенному
  • Перезапуск сервера Mysql
  • Установка доступа для удаленного подключения для ROOT пользователя.
  • Подключение к Mysql с уделенного сервера.

1. Настроим доступ со всех адресов а не только локально

Для Mysql версии 8.0 настройки конфигурации находятся в файле по пути:

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

В файле находим строчку: bind-address = 127.0.0.1 (Она отвечает за доступ с каких IP адресов можно к Mysql подключаться. По умолчанию адрес 127.0.0.1 это локальный, что значит подключиться из вне недоступно).

Для того, чтобы открыть доступ к нужному IP, его нужно прописать вместо 127.0.0.1. Если необходим доступ с любого адреса, то написать как показано ниже.

bind-address = 0.0.0.0

Также в некоторых случаях помимо этой команды может быть некомментированная строка где есть слово skip-networking и её надо закомментировать.

Файл редактировать можно как в консоли стандартными средствами, как например редактором Nano или можно подключиться через программу такую как FileZilla по SSH.

После сохранения файла с изменениями надо перезагрузить MySql сервис командой:

sudo service mysql restart

или можно так:

/etc/init.d/mysql restart

2. Входим в Mysql и открываем удаленный доступ для пользователя ROOT или любого другого

Теперь подключаемся к MySql с паролем суперпользователя:

sudo mysql -p

После подключения к MySql нужно создать пользователя и дать привилегию. Это пример не работает на Mysql 8 👇

mysql> GRANT ALL PRIVILEGES ON userdatabase.* TO "user"@"192.168.0.10" IDENTIFIED BY "password";

Начиная с MySQL 8, вы больше не можете (неявно) создавать пользователя с помощью этой GRANTкоманды. Вместо этого используйте CREATE USER, за которым следует оператор GRANT:

mysql> CREATE USER "root"@"%" IDENTIFIED BY "PASSWORD";

🔼 Командой выше мы создаем пользователя и доступ с какого ip можно подключаться. Символ % - обозначает со всех адресов. Вместо root вы можете указать любого другого созданного пользователя в базе данных.

mysql> GRANT ALL PRIVILEGES ON *.* TO "root"@"%" WITH GRANT OPTION;

🔼 Здесь мы дублируем пользователя и c какого IP.

mysql> FLUSH PRIVILEGES;

🔼 Даем привилегии.

3. Как подключаться удаленно к серверу Mysql

Для подключения к серверу, на котором находится база данных надо предоставить адрес, логин, пароль и название базы данных.

Адрес для подключения к удаленному серверу будет IP адрес сервера без каких либо портов.

Логин и пароль у вас есть при создании пользователя. Базу данных вы можете посмотреть в списке всех баз данных Mysql, посредством команды:

mysql> SHOW DATABASES;

4. Проверка изменений

Чтобы посмотреть с каких ip адресов можно подключаться к учетной записи Mysql можно посмотреть командой.

Mysql> SELECT host FROM mysql.user WHERE user = "root";

root - это пользователь, через который вы будете подключаться.

В консоли у вас появится список:

Должен добавиться второй пункт (хост IP или %). Пример на фото 👇

Доступ к пользвателю Mysql с другого адреса помимо localhost

Если у вас фильтрация трафика то надо разрешить доступ с нужного IP или всех IP адресов к портам MySQL.

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

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

Будут показаны порты как на фото

Порты доступные для подключения к пользователю Mysql

Настройка дело непростое. Поэтому я предоставляю помощь в настройке. Пишите в Телеграм, если нужно моё экспертное мнение.

Поделись страницей

Эдуард Шепелев
Автор статьи
200
Приватный раздел статей
Мы отобрали статьи со всего интернета, чтобы вы смогли не только сэкономить свои деньги, но и заработать, а также множество других полезных материалов!
Статьи по теме
Другие публикации автора
Недавно добавленные
Нет комментариев
Будьте первым, кто оставит свое мнение!
Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.
Войти через

Статьи

Сообщества

Новости / BWeek News
Новостное сообщество 🌎
Цитаты великих людей
Великие мысли знаменитых людей
Советы вебмастеру
Помощь в создании своего уникального сайта
Сервисы SEO-шника
Не занимайтесь рутиной
IQ TEST
Прокачивай голову!
Утечки данных
Кто владеет информацией, тот владеет миром
Пошлые истории
Между любовью и сумасшествием — одержимость
Все про Яндекс Дзен
О том как раскрутить канал в Дзен
Цитаты
Великие слова, цитаты и афоризмы
Счacтьe - этo кoгда всё, чтo тебе нужнo, ecть в oдном челoвекe.