Не удается подключиться к серверу MySQL с использованием IP-адреса

8134
Get Off My Lawn

Я пытаюсь подключиться к 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.

Что случилось?

0
Почему вы хотите подключиться к чему-либо, кроме localhost, если вы не пытаетесь разрешить подключение удаленным клиентам Ramhound 10 лет назад 0
Я пытаюсь разрешить удаленным клиентам подключаться Get Off My Lawn 10 лет назад 0

1 ответ на вопрос

1
noggerl

MySQL in your configuration example is binded locally to the address localhost (or to be clear to the IP-Address 127.0.0.1). If you want to connect through your servers public IP-Address the access gets rejected.

You can see this by doing a netstat -ln or in new style with the command ss.

The removal and re-installation replaced some configuration files of MySQL. apt-get purge deletes configuration files, also for dependent packages. Typically MySQL is only binded to localhost on a new installation on Ubuntu so this looks like your config file of MySQL was replaced with the default. For other Distros I can't say anything about the default configuration.

If you want to use a MySQL-Administration-Tool (i. e. HeidiSQL) on your local machine you should not change the bind-address in the MySQL-Config to the public IP-Address. It's better if you use a SSH-Tunnel.

With the standard Linux-Command ssh this is very easy to achieve with ssh -L 9999:localhost:3306 <servername> where 9999 is the local port. You can also use the MySQL-Port 3306 as local port, but may this won't work if you have a local installation of MySQL. On Windows this can also be done with putty, just look on Google for "putty mysql tunnel", maybe this tutorial should do it, but as I am a pure Linux user i cannot verify it.

но когда я впервые установил его, я использовал конфигурацию mysql по умолчанию, и она работала нормально. Get Off My Lawn 10 лет назад 0
Возможно, произошли изменения в конфигурации по умолчанию. Я не могу сказать, потому что вы не упомянули, какой дистрибутив вы используете. Другой причиной может быть то, что установка другого приложения перенастроила вашу конфигурацию MySQL. noggerl 10 лет назад 0
ах, мне пришлось изменить `bind-address` с` 127.0.0.1` на ip-адрес моего сервера Get Off My Lawn 10 лет назад 0
Просто удалил мой комментарий, потому что я видел твой комментарий к вопросу Рэмхаунда. Но, чтобы уточнить это: главный вопрос: что вы хотите сделать с доступом с вашего домашнего компьютера к базе данных? Администрирование базы данных с помощью определенных инструментов? Управление данными? Установка приложения, которое использует эту базу данных? noggerl 10 лет назад 0
Я хочу, чтобы иметь возможность использовать HeidiSQL Get Off My Lawn 10 лет назад 0
Вам не нужно разрешать удаленный доступ, чтобы сделать это ... Ramhound 10 лет назад 0
Я не знаю, какой SSH-клиент вы используете, но я полагаю, вы используете шпаклевку. Вы можете настроить putty для перенаправления локального порта и туннелирования mysql-порта с сервера на локальный порт на вашей машине. Может быть, вы хотите посмотреть этот учебник -> http://www.eaktion.com/blog/2011/12/25/connecting-access-to-mysql-through-a-ssh-tunnel-using-putty-and- переадресация портов / или просто Google для "туннеля замазки MySQL". noggerl 10 лет назад 0