Для возможности удаленного подключения нужно:
1. Открытый в фаерволе порт 3306 для подключения удаленного хоста.
2. в начале файла /etc/hosts.allow наличие
- Код: Выделить всё
mysqld : ALL : allow
если первой незакоментированной строкой не идет
- Код: Выделить всё
ALL : ALL : allow
3. В БД
mysql создать пользователя, например,
backup c паролем
Your_Cool_Password (пароль обязательно хэшируется при помощи ф-ции PASSWORD()):
- Код: Выделить всё
INSERT INTO `user` (`Host`, `User`, `Password`) VALUES ('10.40.0.101', 'backup', PASSWORD('Your_Cool_Password'));
4. В БД
mysql наделить созданного пользователя необходимыми правами доступа к базе (в моем примере: к %, т.е. всем базам) данных:
- Код: Выделить всё
INSERT INTO `db` (`Host`, `Db`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Execute_priv`, `Event_priv`, `Trigger_priv`) VALUES
('10.40.0.101', '%', 'backup', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
5. Применить внесенные изменения путем перегрузки привелегий пользователей mysql:
- Код: Выделить всё
FLUSH PRIVILEGES ;
Если все сделать правильно и с удаленного адреса (в моем примере это 10.40.0.101) подключиться телнетом на порт 3306 к серверу mysql (10.40.0.102), то должен будешь увидеть что-то такое:
- Код: Выделить всё
[backup:~/] telnet 10.40.0.102 3306
Trying 10.40.0.102...
Connected to 10.40.0.102.
Escape character is '^]'.
;
5.1.25-rc-log¦q3JZdgZ6cp+!cPGTRz1
Got packets out of orderConnection closed by foreign host.
, где
5.1.25-rc-log - версия сервера mysql .