RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:mysql:mysql_remote

MySQL - удаленный доступ

my.cnf

В файле /etc/my.cnf в секцию [mysqld] добавляем bind-address

bind-address = *

Строку skip-networking удаляем или комментируем.

Перезагружаем MySQL

# service mysqld restart 

Удостоверяемся, что MySQL слушает внешний интерфейс

# netstat -tunap | grep mysql              
tcp        0      0 0.0.0.0:3306          0.0.0.0:*               LISTEN      8225/mysqld  

Предоставляем доступ для удаленного IP/хоста

mysql> GRANT ALL PRIVILEGES ON *.* TO remote_user@'108.170.13.254' IDENTIFIED BY 'some-password';
mysql> GRANT ALL PRIVILEGES ON *.* TO remote_user@'%' IDENTIFIED BY 'some-password';
mysql> FLUSH PRIVILEGES;

Закрыть доступ

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'remote_user'@'108.170.13.254';
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'remote_user'@'%';
mysql> FLUSH PRIVILEGES;

Настройки firewall

Открываем доступ к 3306 порту извне

# iptables -A INPUT -m tcp -p tcp --dport 3306 -j ACCEPT

Открываем доступ только для определенного IP

# iptables -A INPUT -s 108.170.13.254 -m tcp -p tcp --dport 3306 -j ACCEPT

Открываем доступ для подсети

# iptables -A INPUT -s 108.170.13.0/24 -m tcp -p tcp --dport 3306 -j ACCEPT

Если у вас firewalld

firewall-cmd --add-port=3306/tcp
firewall-cmd --permanent --add-port=3306/tcp

Проверка соединения

mysql -h HOST -u USERNAME -pPASSWORD

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/mysql/mysql_remote.txt · Последнее изменение: 2016/11/23 16:33 — 127.0.0.1