Поиск по сайту:

Исправлено: ОШИБКА 2003 (HY000): невозможно подключиться к серверу MySQL по адресу «127.0.0.1» (111).


В этом руководстве описаны необходимые шаги для решения проблемы «ОШИБКА 2003 (HY000): невозможно подключиться к серверу MySQL по адресу '127.0.0.1' (111)», которая может возникнуть при попытке получить доступ к серверу базы данных MySQL.

Прежде чем двигаться дальше, если вы являетесь пользователем Linux и новичком в MySQL/MariaDB, вы можете рассмотреть возможность изучения MySQL/MariaDB для начинающих – части 1 и 20. Команды MySQL (Mysqladmin) для администрирования базы данных в Линукс тоже.

С другой стороны, если вы уже являетесь пользователем MySQL среднего/опытного уровня, вы можете освоить эти 15 полезных советов по настройке и оптимизации производительности MySQL/MariaDB.

Примечание. В этом руководстве предполагается, что вы уже установили сервер базы данных mysql.

Возвращаясь к сути вопроса, каковы возможные причины этой ошибки?

  1. Сбой сети, особенно если сервер базы данных MySQL работает на удаленном хосте.
  2. На указанном хосте не работает сервер MySQL.
  3. Брандмауэр блокирует соединение TCP-IP или по другим связанным причинам.

Ниже приведены основные шаги, чтобы справиться с этим.

1. Если сервер базы данных находится на удаленном компьютере, попробуйте проверить соединение клиент-сервер с помощью команды ping, например:

ping server_ip_address

Как только соединение будет установлено, используйте команду ps ниже, которая показывает информацию о выбранных активных процессах, вместе с командой pipe и grep, чтобы проверить, что демон mysql работает. работает в вашей системе.

ps -Af | grep mysqld

где вариант:

  1. -A — активирует выбор всех процессов
  2. -f – включает полный список форматов

Если результаты предыдущей команды отсутствуют, запустите службу MySQL следующим образом:

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

После запуска службы MySQL попробуйте получить доступ к серверу базы данных:

mysql -u username -p -h host_address  

2. Если вы по-прежнему получаете ту же ошибку, определите порт (по умолчанию — 3306), который прослушивает демон mysql, выполнив команду netstat.

netstat -lnp | grep mysql

где варианты:

  1. -l — отображает порты прослушивания
  2. -n – включает отображение числовых адресов.
  3. -p — показывает PID и имя программы, владеющей сокетом.

Поэтому используйте параметр -P, чтобы указать порт, который вы видите в приведенных выше выходных данных при доступе к серверу базы данных:

mysql -u username -p -h host_address -P port

3. Если все приведенные выше команды выполняются успешно, но ошибка по-прежнему видна, откройте файл конфигурации mysql.

vi /etc/mysql/my.cnf
OR
vi /etc/mysql/mysql.conf.d/mysqld.cnf 

Найдите строку ниже и закомментируйте ее, используя символ #:

bind-address = 127.0.0.1 

Сохраните файл и выйдите, затем перезапустите службу MySQL следующим образом:

sudo systemctl start mysql.service
sudo systemctl start mariadb.service
OR
sudo /etc/init.d/mysqld start

Однако, если у вас запущен firewallD или Iptables, попробуйте просмотреть службы брандмауэра и открыть порт mysql, предполагая, что брандмауэр блокирует соединения TCP-IP с вашим сервером MySQL.

Вот и все! Знаете ли вы другие методы или у вас есть предложения по устранению описанной выше ошибки подключения к MySQL? Дайте нам знать, оставив комментарий через форму обратной связи ниже.