Якщо вам потрібно створити віддаленого користувача для вашої бази даних MySQL, скористайтеся цією інфтрукцією.
Попередження: Якщо ви не впевнені у тому, що робите – краще зверніться до кваліфікованого системного адміністратора. Неправильні налаштування MySQL можуть призвести до втрати даних.
На сервері де встановлено MySQL потрібно перевірити за якою адресою дозволено працювати серверу MySQL:
# nano /etc/mysql/mysql.conf.d/mysqld.cnf
Потрібно знайти строку – bind-address, і якщо потрібно змінити значення на bind-address = 0.0.0.0
Якщо ви внесли зміни до файлу конфігурації, слід перезапустити mysql:
# systemctl restart mysql
Авторизуйтесь в консолі mysql:
# mysql -u root -p
Створюємо нового користувача:
# CREATE USER ‘remote_user’@’remote_server_ip’ IDENTIFIED BY ‘password’;
де remote_user – ім’я користувача, remote_server_ip – ip адреса віддаленого серверу, звідки буде підключення, password – пароль майбутнього користувача
Додамо повновжень для нового користувача:
# GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on database_name.* TO ‘remote_user’@’remote_server_ip’ WITH GRANT OPTION;
У прикладі перереховані всі можливі повноваження, ви можете змініти їх перелік згідно зі своїх задач. database_name – ім’я бази даних з якою може праціювати користувач (.* означає, що доступ є до всіх таблиць бази).
Застосуємо надані повноваження:
# FLUSH PRIVILEGES;
Виходимо з консолі mysql:
# exit
На сервері де розміщено MySQL потрібно додати доступи до порту 3306 віддаленому серверу (приклад налаштування iptables).
Перевірити доступ з віддаленого серверу можна командою (на віддаленому сервері):
# mysql -u remote_user -h database_server_ip -p