Посібник з налаштування віддаленого підключення до MySQL на CentOS, hPanel та RHEL
Бази даних MySQL та веб-сервери зазвичай управляються за допомогою одного локального комп'ютера. Однак це може спричинити багато незручностей, які з часом можуть перерости у серйозніші проблеми.
З огляду на це, корпорації та команди часто обирають віддалені сервери MySQL, щоб веб-сервер та база даних могли розвиватися з комфортною швидкістю та зростати до необхідного розміру.
В результаті сервер і база даних, доступні віддалено, продемонстрували високу ефективність у покращенні продуктивності обладнання та вирішенні питань управління та безпеки.
Мета сервера MySQL — чутливо реагувати на вхідні з'єднання, що надходять локально. Це його стандартна конфігурація, яка передбачає відсутність доступу з будь-якої віддаленої системи.
Проте отримати віддалений доступ до обраної бази даних все ж можна, а саме за допомогою сервера CentOS та RHEL. Прочитайте цей посібник, щоб дізнатися, як саме це зробити.
Дозвіл віддалених підключень до сервера бази даних MySQL на CentOS або RHEL
Щоб побачити, як працює цей посібник, вам потрібно мати в своєму розпорядженні наступні інструменти:
- Віддалений сервер MySQL.
- Командний рядок / вікно терміналу.
- Локальні та віддалені машини з правами root.
Якщо сервер не належить до вашого центру обробки даних, спочатку потрібно встановити SSH-з'єднання. Якщо ви робите це в Windows, використовуйте PuTTY. У Linux і MacOS найкраще використовувати вбудовану оболонку терміналу.
Як користувач VPS-сервера, ви можете знайти дані для входу на вкладці hPanel під назвою «Сервери».
Як змінити файл конфігурації сервера MySQL
Тепер настав час доручити віддаленому серверу «ловити» зовнішні підключення. Ось як додати нову опцію до файлу конфігурації.
Увійдіть на сервер як користувач root і запустіть цю команду, щоб контролювати розташування файлу конфігурації MySQL:
mysql --help | grep «Default options» -A 1
Результат буде виглядати так:
Далі перейдіть до редагування файлу конфігурації MySQL за допомогою редактора nano:
nano /etc/my.cnf
Коли файл відкриється, знайдіть рядок з позначкою [mysqld] і доповніть його таким кодом:
bind-address=YOUR.SERVER.IP
Замініть YOUR.SERVER.IP на конкретну IP-адресу вашої віддаленої системи, яку MySQL-сервер повинен прослуховувати.
Якщо серед рядків коду ви побачите фразу skip-networking, перетворіть її на коментар (вставивши символ #) або просто видаліть. Інакше цей фрагмент не дозволить серверу «ловити» TCP/IP-з'єднання.
Після завершення редагування натисніть «CTRL+X» або «COMMAND+X» (для Mac), щоб зберегти файл.
Зміни, які ви очікуєте, почнуть діяти після перезапуску MySQL. Це робиться за допомогою наступної команди:
systemctl restart mysqld
Як відкрити необхідний порт MySQL
Далі потрібно відкрити правильний порт, оскільки стандартний порт MySQL для зовнішніх з'єднань завжди 3306. Якщо служба брандмауера вже налаштована на сервері MySQL, то наступним логічним кроком буде пропуск трафіку через порт.
Це працює, якщо вашим стандартним інструментом брандмауера є iptables. Виконайте наступну команду:
iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
Тепер ця команда відкрила порт № 3306 для необмеженого трафіку та надала віддалений доступ для всіх IP-адрес.
Якщо ви не хочете дозволяти такий доступ, просто надайте доступ до сервера лише для однієї конкретної IP-адреси за допомогою цієї команди:
iptables -A INPUT -i eth0 -s remote_IP_address -p tcp
--destination-port 3306 -j ACCEPT
Не забудьте також замінити remote_IP_adress на необхідну IP-адресу віддаленого хоста.
Нарешті, збережіть оновлену конфігурацію iptables, ввівши:
service iptables save
Відповідь буде виглядати так:
Відтепер сервер буде надавати віддалені підключення до служби MySQL.
Перевірте результати, запустивши сервер MySQL, щоб встановити з'єднання з віддаленою системою за допомогою наступної команди:
mysql -u username -h mysql_server_ip -p
«username» слід замінити на ваше ім'я користувача MySQL, а mysql_server_IP — на фактичну IP-адресу (або ім'я сервера). Параметр -p підкаже вам, що для входу в обліковий запис користувача MySQL потрібно ввести пароль.
Ось як буде виглядати результат:
Підключення до <em>mysql_server_ip</em> 3306 порт [tcp/mysql] успішно встановлено!
Дозвіл віддалених підключень до сервера бази даних MySQL на hPanel
Цей інструмент може встановити віддалене підключення до сервера MySQL. Це робиться шляхом дозволу IP-адреси з вашого облікового запису.
Спочатку увійдіть у свій hPanel і перейдіть безпосередньо до Бази даних – Віддалений MySQL.
На сторінці Віддалений MySQL ви зможете ввести IP-адресу віддаленого сервера, перейшовши до поля IP або поля AnyHost. Це дозволить вам підключитися з будь-якої IP-адреси.
Далі виберіть базу даних для віддаленого доступу та натисніть «Створити».
Але це ще не все.
Для таких віддалених підключень потрібен ім'я хоста сервера MySQL від користувача MySQL. Якщо вам цікаво, як його отримати, прокрутіть цю сторінку до початку.
Останні слова
Цей короткий посібник показав, як підключитися до сервера MySQL за допомогою віддаленого доступу до хоста та створити доступ з потрібної IP-адреси для віддаленого користувача MySQL.
Підсумовуючи етапи прийняття віддаленого підключення від хостів на сервері CentOS або RHEL:
- Зміна файлу конфігурації MySQL. Це робиться за допомогою командного рядка, щоб додати іншу опцію та нову IP-адресу віддаленого користувача до файлу конфігурації MySQL.
- Відкриття необхідного порту MySQL. Це досягається додаванням запису до правил брандмауера, зокрема для порту 3306.
Бажаємо успіхів! Залиште коментарі під цим посібником, якщо у вас залишилися питання та «білі плями» щодо встановлення віддалених підключень до MySQL.
Blog