Вы должны предоставить доступ пользователю с удаленного хоста на сервере MySQL.
Из этого туториала Вы узнаете, как настроить пользователя на сервере MySQL для удаленного подключения.
Предполагается следующее:
You have access to login as the 'root' MySQL user
содержание
1 Getting your IP address
2 Granting Access
3 Testing Remotely
4 Notes
Получение вашего IP-адреса
Вам нужно будет знать, с какого IP-адреса вы подключаетесь. Чтобы найти это, вы можете перейти на один из следующих сайтов:
http://www.ipchicken.com
http://www.whatismyip.com
Предоставление доступа
Предоставление доступа пользователю с удаленного хоста довольно просто и может быть достигнуто всего за несколько шагов. Сначала вам нужно будет войти на свой сервер MySQL от имени пользователя root. Вы можете сделать это, введя следующую команду:
mysql -u root -p
Это запросит у вас пароль root для MySQL.
После входа в MySQL необходимо выполнить команду GRANT, которая разрешит доступ для вашего удаленного пользователя. В этом примере мы создадим нового пользователя (fooUser), который будет иметь полный доступ к базе данных fooDatabase.
Имейте в виду, что это утверждение не является полным и потребует изменения некоторых пунктов. Пожалуйста, измените 1.2.3.4 на IP-адрес, который мы получили выше. Вам также необходимо изменить my_password с паролем, который вы хотели бы использовать для fooUser.
mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
Этот оператор предоставит ВСЕ разрешения вновь созданному пользователю fooUser с паролем «my_password» при подключении с IP-адреса 1.2.3.4.
Тестирование удаленно
Теперь вы можете проверить ваше соединение удаленно. Вы можете получить доступ к вашему серверу MySQL с другого сервера Linux:
mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> _
Обратите внимание, что IP-адрес нашего сервера MySQL в этом примере составляет 44.55.66.77.
Заметки
При настройке этих удаленных пользователей следует отметить несколько вещей:
При настройке пользователей локальный пользователь - это не то же самое, что удаленный пользователь. Например, fooUser @ localhost отличается от fooUser@1.2.3.4. Вам нужно будет дублировать разрешения, если вы хотите, чтобы у них были такие же разрешения.
Предоставление ВСЕХ разрешений не рекомендуется. Использование GRANT SELECT, INSERT, UPDATE, DELETE - мудрая альтернатива для обычного пользователя.
Если вы хотите предоставить доступ только к определенной таблице, вы можете использовать database.table вместо database.*. Что касается нашего примера выше, вы можете поместить fooDatabase.fooTable.
Если вы используете iptables, вам нужно будет сделать запись в брандмауэре для TCP-порта 3306. При создании правила брандмауэра вы можете просто использовать имя «mysql» для номера порта.
Источник: http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely