Как добавить хост или ip для связи с MySQL удаленно?

Author admin acount on November 20, 2010 | Print | Bookmark


Если вы хотите открыть доступ к 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

Was this article helpful?

Yes No

Category: Виртуальные сервера, Выделенные сервера

Last updated on November 20, 2010 with 1309 views