2014-01-06 4 views
1

У меня есть экземпляр Windows Server 2012, созданный на Amazon EC2. Я установил MySQL и создал базу данных для тестирования, и у меня есть пользователь со всеми привилегиями. Я не буду подключаться к этой базе данных удаленно с другого компьютера Windows, но соединение не будет работать. Я открыл порт 3306 и разрешил весь трафик (опять же для тестирования). Я могу пинговать сервер просто отлично, но когда я пытаюсь подключиться с помощью командной строки, как так:Подключение удаленно к mysql, запущенному в экземпляре Amazon EC2

MySQL Server/bin>mysql -h "IP address for my instance" -u User -p"password" 

Я получаю ошибку:

ERROR 2003 (HY000): Can't connect to MySQL server on "host" (10060) 

Я понятия не имею, что причиной этого. Я что-то упускаю?

EDIT

Я создал еще один пользователь с правами, используя эту команду:

mysql>CREATE USER 'testUser'@'%' IDENTIFIED BY 'somepass'; 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'testUser'@'%' WITH GRANT OPTION; 
mysql>FLUSH PRIVILEGES; 

ответ

2

Ошибка 10060 означает, что вы не можете подключиться удаленно.

Это не сработает, если вы создали пользователя [email protected]. Попробуйте создать пользователя с помощью подстановочного знака, %: [email protected]%.

+0

Я думал, что уже сделал это, но я сделаю нового пользователя, чтобы быть уверенным спасибо! – Andy

+0

По-прежнему не повезло, посмотрите на редактирование, чтобы увидеть, что именно я сделал. – Andy

+0

Неужели это та же ошибка, что и вы? ('10060') Маленький googling дал мне это: http://kylegoslin.wordpress.com/2012/05/18/109/ Удачи! – Martin

1

Попробуйте прокомментировать следующую строку с вашего my.ini. В Windows вы можете найти его в каталоге установки MySQL, как правило, что-то вроде "C: \ Program Files \ MySQL \ MySQL Server 5.5 \"

bind-address = 127.0.0.1 

В основном это красноречивым MySQL слушать только запросы, поступающие от 127.0.0.1 , По умолчанию это значение по умолчанию. Вы также можете сделать что-то вроде

bind-address = <ip address of one of your network interfaces> 

Это будет по существу прослушивать запросы только на этот конкретный сетевой интерфейс.

Если вы закомментируете опцию bind-address, вы можете настроить свои группы безопасности AWS, чтобы предотвратить несанкционированный доступ.

+0

Я пробовал найти этот файл, но я не могу его найти нигде, я запускаю MySQL 5.6 если это имеет значение – Andy

+1

В Windows файл 'my.ini' вместо' my.cnf'. –

+1

Некоторое объяснение, почему это необходимо, было бы неплохо - то есть объяснить, что по умолчанию (по соображениям безопасности) mysql только слушает подключения с localhost. –

Смежные вопросы