http://www.rx-support.net/index.php/article/mysqlremote
Если вы хотите открыть доступ к mysql с определенного IP, то делаем так:
1. Открываем конфигурацию mysql, запустив любую из команду:
shell> vi /etc/my.cnf
shell> nano /etc/my.cnf
shell> mcedit /etc/my.cnf
shell> vim /etc/my.cnf
Находим строку bind-address, в которой должен быть IP вашего сервера
bind-address = ip address
2. Используя MySQL монитор, мы вставим новую строку в host и user таблицы следующим образом.
Чтобы войти и начать работу с MySQL воспользуемся следующей командой:
shell> /usr/local/mysql/bin/mysql
или
shell> mysql -uroot -p
где -u пользователь под которым будем делать вход.
Теперь нам нужно перейти в базу mysql, выполняем следующую команду:
mysql> use mysql;
Чтобы просмотреть текущие записи, запускаем:
mysql> select host,user from user;
Получите такую информацию:
+——————+——————+
| host | user |
+——————+——————+
| % |mydb_blog |
| % | root |
| 127.0.0.1 | root |
| 192.168.0.100 | mydb_blog |
| 195.189.226.5 | mydb_blog |
| localhost | |
| localhost | mydb_blog |
| localhost | root |
+——————+——————+
10 rows in set (0.00 sec)
Чтобы добавить новый ip для доступа к базе mydb_blog делаем следующее:
mysql> INSERT INTO user (Host,User,Password)
-> VALUES(‘[IP]’,'[DB_USER]’,PASSWORD(‘[PASSWORD_DB]’));
mysql> INSERT INTO db
-> (Host,Db,User,Select_priv,Insert_priv,
-> Update_priv,Delete_priv,Create_priv,Drop_priv)
-> VALUES(‘[IP]’,'[DB_NAME]’,'[DB_USER]’,
-> ‘Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
mysql> FLUSH PRIVILEGES;
mysql> quit
[IP] – Указываем ip адрес или имя хоста
[DB_USER] – Имя пользователя для базы данных
[DB_NAME] – Имя базы данной, к которой открываем доступ
[PASSWORD_DB] – Пароль от базы
Выходим и перезагружаем mysql.
И все будет работать, если нет, советую проверить файрвол!
Например Linux iptables
shell> vim /etc/sysconfig/iptables
Добавляем
-A INPUT -s [IP] -i eth0 -p tcp -m tcp –dport 3306 -j ACCEPT
Сохраняем и перезагружаем iptables
service iptables restart