вы должны предоставить доступ пользователю с удаленного хоста на сервере 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 нужно выполнить команду грант, который позволит открыть для удаленного пользователя. В этом примере мы создадим совершенно нового пользователя (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 является разумной альтернативой для обычного пользователя.
если вы хотите предоставить только определенную таблицу, вы можете использовать базу данных.стол вместо база данных.*. В отношении нашего примера выше вы можете поместить fooDatabase.fooTable.
если вы используете iptables, вам нужно будет сделать запись в брандмауэре для TCP-порта 3306. При создании правила брандмауэра вы можете просто использовать имя 'mysql' для номера порта.
источник: http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely