Не удается подключиться к серверу MySQL с использованием IP-адреса
Я пытаюсь подключиться к MySQL, используя IP, но я получаю эту ошибку:
ОШИБКА 2003 (HY000): не удается подключиться к серверу MySQL в "xxx.xxx.xxx.xxx" (111)
Я могу подключиться с помощью localhost
хотя вместо ip.
Это не работает:
mysql -u ryan -h xxx.xxx.xxx.xxx -p
И все же это работает:
mysql -u ryan -h localhost -p
Мне удалось подключиться ранее сегодня, затем я установил iRedMail, затем я удалил iRedMail, и процесс удаления сделал что-то с mysql, я думаю, поэтому я переустановил mysql с нуля, используя это:
apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5
Затем:
apt-get install mysql-server
После этого я создал своего пользователя, и теперь я не могу подключиться, используя IP-адрес, как с новым пользователем, так и с пользователем root, но я могу подключиться, используя localhost
,
Что случилось?
1 ответ
MySQL в вашем примере конфигурации привязан локально к адресу localhost (или для очистки к IP-адресу 127.0.0.1). Если вы хотите подключиться через публичный IP-адрес вашего сервера, доступ будет отклонен.
Вы можете увидеть это, выполнив netstat -ln
или в новом стиле с командой ss
,
Удаление и повторная установка заменили некоторые файлы конфигурации MySQL. apt-get purge
удаляет файлы конфигурации, также для зависимых пакетов. Обычно MySQL привязывается к localhost только при новой установке в Ubuntu, поэтому похоже, что ваш конфигурационный файл MySQL заменен на стандартный. Для других дистрибутивов я ничего не могу сказать о конфигурации по умолчанию.
Если вы хотите использовать MySQL-Administration-Tool (т.е. HeidiSQL) на локальном компьютере, вам не следует менять bind-address
в MySQL-Config для публичного IP-адреса. Лучше, если вы используете SSH-туннель.
Со стандартной Linux-командой ssh
это очень легко достичь с ssh -L 9999:localhost:3306 <servername>
где 9999
это локальный порт. Вы также можете использовать MySQL-порт 3306 в качестве локального порта, но, возможно, это не сработает, если у вас есть локальная установка MySQL. В Windows это также можно сделать с помощью putty, просто поищите в Google "putty mysql tunnel", возможно, этот урок должен это сделать, но, поскольку я являюсь пользователем исключительно Linux, я не могу это проверить.