2014-04-23 3 views
0

При попытке подключиться с помощью Windows 7 32bit и 64bit MySQL-разъем-Odbc-5.3.2 и ConnectionString:Подключение к MySQL БД

Provider=MSDASQL;Driver={MySQL ODBC 5.3 Driver};Server=192.168.1.13;Port=3306;Database=mydb;Uid=root;Pwd=****; 

я получаю

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

Аналогично с версия 5.2.6. После понижения поставщика 5.1 я получаю:

[MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '192.168.1.13' (10060) 

, который является более обнадеживающим, как он, по крайней мере признал провайдера.

Я попытался добавить правило брандмауэра, чтобы разрешить исходящие подключения к порту 3306. Я попытался отключить локальный брандмауэр. Я проверил, что сервер прослушивает порт 3306 и проверяет IP-адрес. (tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN) Я также проверил, что я могу получить доступ к серверу и что MySQL работает.

Когда я попытался подключиться, используя IP-адрес из терминала SSH на самом сервере: MySQL -u корень -h 192.168.1.13 -D whiskeywheel -p

Я запрошен пароль, после чего я get: ERROR 2003 (HY000): Не удается подключиться к серверу MySQL на '192.168.1.13' (111)

Я добавил хозяина/пользователя в таблицу пользователя в базе данных mysql и перезапустил MySQL. Я предоставил «ВСЕ» в базе данных пользователю anyhost («%»), и я явно добавил доступ к порту 3306 в брандмауэр ubuntu: iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Я, конечно, ограничу доступ до развертывания, но я должен иметь возможность взаимодействовать с базой данных в осмысленной форме, пока я ее разрабатываю. Я рад снова установить любой из различных компонентов и начать снова, поскольку это достаточно рано в проекте, но в идеале я хотел бы знать, что я неправильно сконфигурировал или где я ошибся.

+0

Вы видели это? http://stackoverflow.com/questions/1673530/error-2003-hy000-cant-connect-to-mysql-server-on-127-0-0-1-111 Замечания по -skip-networking и адресу привязки смотри потенциально относящуюся к вам проблему. –

+0

Я действительно видел это, но, поскольку в решении упоминалось «skip-networking», которое, как я знал, не было определено, я больше не занимался этим. Вернувшись назад и следуя предложенной ссылке, представленный ответ, как было предложено ниже. Спасибо. – stephen

ответ

0

Сервер mysql по умолчанию привязывает только к loopback-адресу на сервере (127.0.0.1). вы должны отредактировать файл my.cnf сервера и выполнить перезапуск сервера mysql.

также обратите внимание, что указание localhost обрабатывается специальным сервером mysql. он не вызывает 127.0.0.1, как и следовало ожидать.

подробнее здесь о том, как связываться с вашим внешним IP-адресом:

http://www.cyberciti.biz/faq/unix-linux-mysqld-server-bind-to-more-than-one-ip-address/

+0

Очень ценится. Комментируя 'bind-address = 127.0.0.1', похоже, сделал трюк, поэтому я буду исследовать дальше оттуда. – stephen

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