В этой статье объясняется, как настроить пользователя на сервере MySQL для удаленного подключения к базе данных MySQL.
Многие веб-сайты и приложения запускаются с веб-сервера и базы данных, размещенных на одном компьютере. Однако со временем такая установка может стать громоздкой и сложной для масштабирования. Распространенным решением является разделение этих функций путем настройки удаленной базы данных, что позволяет серверу и базе данных расти в своем темпе на своих машинах.
Для выполнения этих шагов у вас должен быть доступ к локальному серверу, чтобы войти в систему как пользователь root MySQL.
Создание удаленного соединения
Чтобы создать удаленное соединение:
1. На вашем сервере баз данных, как пользователь с привилегиями root, откройте файл конфигурации MySQL.
Чтобы найти его, введите следующую команду:
mysql --help
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
2. Перейдите к строке, которая начинается с директивы bind-address.
Если она существует, измените значение следующим образом.
Если она не существует, добавьте его где угодно, кроме раздела [mysqld].
bind-address = 0.0.0.0
3. Сохраните изменения в файле конфигурации и выйдите из текстового редактора.
4. Перезапустите службу MySQL:
# systemctl restart mysql
Предоставление доступа
Выполните следующие шаги для предоставления доступа пользователю с удаленного хоста:
1. Войдите на сервер MySQL как пользователь root с помощью следующей команды:
# mysql -u root -p
Вам будет предложено ввести пароль root для MySQL.
2. Используйте команду GRANT в следующем формате, чтобы разрешить доступ для удаленного пользователя.
# GRANT ALL ON <database_name>.* TO <database_username>@<remote_server_ip_address> IDENTIFIED BY '<database_user_password>';
Проверьте доступ к базе данных
Чтобы проверить соединение удаленно, получите доступ к серверу MySQL с другого сервера Linux.
# mysql -u <database_username> -h <remote_server_ip_address> -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.6.26 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> _