Linux mysql error 111

Keep Getting MySQL error of ‘reading initial communication packet’, system error: 111

I know this is a common issue. But I shut the DB server down with the Unix «service mysqld stop» command then restarted the server soon after with the «service mysqld start» command. I did it to flush out a couple of «killed» MySQL processes. Checking, I get the service mysqld status mysqld (pid 19354) is running. But on my webpages that access the DB I get the error «The Database Connection Is Down: Lost connection to MySQL server at ‘reading initial communication packet’, system error: 111» So all I did was shut the DB server down and started it up again a minute later. How long will the problem persist, or is there more I should do?

1 Answer 1

Your host is wrong, your port is wrong, a firewall blocked the connection, or the SQL server is not running. 111 is «connection refused». You can troubleshoot by trying to telnet to the SQL server’s host and port. If that works, your code gets the host or port wrong.

If that doesn’t work, check on the SQL server itself. If it works there, the problem is the network. If it doesn’t work there, the SQL server is not running.

Be sure the mysql is running: service mysqld status or try with PHPmyadmin

Not the answer you’re looking for? Browse other questions tagged mysql linux or ask your own question.

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.10.8.40416

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Не удается подключиться к MySQL server error 111 [закрыто]

Я установил сервер mysql на Linux box IP = 192.168.1.100, но когда я пытаюсь подключиться к этому IP, это всегда ошибка(111). но используйте localhost и 127.0.0.1 в порядке.

подключение с другой машины также ошибка 111.

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

помогите пожалуйста. Благодарить.

4 ответов

Это, вероятно, означает, что ваш сервер MySQL слушает только интерфейс localhost.

Если у вас есть такие строки:

в своем my.cnf конфигурационный файл, вы должны прокомментировать их (добавьте # в начале строк), и перезапустите MySQL.

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

111 означает соединение отклонено, что в свою очередь означает, что ваш mysqld только слушает localhost интерфейс.

Читайте также:  Нужно ли чистить windows 10 от мусора

чтобы изменить его, вы можете посмотреть на bind-address значение вашего .

Если все предыдущие ответы не дали никакого решения, вы должны проверить свои права пользователя.

Если вы можете войти в систему как root в mysql затем вы должны добавить это:

затем попробуйте подключиться снова, используя mysql -ubeer -pbeer -h192.168.1.100 . Это должно сработать.

Если вы используете cPanel / WHM, убедитесь, что IP находится в белом списке в брандмауэре. Вам также нужно будет добавить этот IP-адрес в список удаленных IP-адресов SQL в учетной записи cPanel, к которой вы пытаетесь подключиться.

Источник

Устраняем типичные ошибки в MySQL

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.

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

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL ( mysqld ) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

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

Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

FBS , Санкт-Петербург , По итогам собеседования

Для поиска порта, который прослушивается сервером, используйте команду netstat .

Не удаётся подключиться к серверу MySQL

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.

В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

Читайте также:  Window on top для windows 10

В консоли вводим команду:

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB больше, чем max_allowed_packet .

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout .

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections . Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf .

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:

  • если клиент MySQL используется напрямую, запустите его с ключом —quick switch , чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

MySQL продолжает «падать»

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

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin .

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

Заключение

Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/ . Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl . Или используйте команду journalctl (с флагом -xe ) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages ) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist , чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Читайте также:  Adobe illustrator для mac os как установить

Ошибка «MYSQL error 111»

При установке выдаёт «uncompression error system halted»
Не смотря на то, что все вопросы слабо или средне затрагивают линух, всё стремится к нему. 2.

При установке librabbitmq выдаёт «error: command ‘gcc’ failed»
Всем доброго времени суток. Во время установки librabbitmq ( через easy_install), в конце кидается.

Клиент mysql выдаёт «DSN (write) NOT OK»
DSN (write): NOT OK (SQLSTATE Access denied for user ’roundcube’@’localhost'(using password: YES)).

Команда-скрипт для открытия «Панели Управления» по клику. OS LM 17.1 «Rebecca» Cinnamon
Здравствуйте. Настроил систему под себя, включил в настройках панели «Параметры автоматического.

1. Для начала замените bind_address=127.0.0.1 на bind_address=0.0.0.0

2 .Вы базу данных и пользователя создали для подключения?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Создание «мягких» и «жёстких» ссылок на всё файлы в каталоге
Подскажите, пожалуйста. Как можно при помощи команды find и xargs создать мягкие и жёсткие ссылки.

Ошибка «NTLDR is missing» при загрузке Ubuntu с HDD
Отформатировал второй HDD в формат NTFS, распаковал в этот HDD ISO-образ Ubuntu Server 16.04.5 LTS.

«Возникла ошибка в получении XML данных» На Xubuntu 11.04
Добрый день товарищи сисадмины и програмисты. пришел к Вам поскольку на форуме убунту.ру проблему.

Ошибка «Индекс программ поврежден»
Хочу обновить хром на Линуксе Минт 16 Педра, 32бит, но не могу, так как мне выдает ошибку «индекс.

Источник

ERROR 2003 (HY000): Can’t connect to MySQL server (111)

This question is related to the following questions:

I am configuring a new MySQL (5.1) server on my local machine. I need to provide remote access to the database. I did the following steps:

Comment bind-address in my.cnf:

Configure iptables for firewall

Restart mysql server sudo /etc/init.d/mysql restart

When testing, I get the following:

Clearly there’s something wrong that’s preventing me from being able to use my global IP address.

  • I’ve tried testing the remote connection on the same machine and also via SSH from a remote machine.
  • I’m not sure if my ISP has given me a static IP.

Update: telnet doesn’t seem to be working.

11 Answers 11

Please check your listenning ports with :

Thats is ok for your remote connection.

But in this case i think you have

Thats is ok for your remote connection. You should also check your firewall (iptables if you centos/redhat)

for testing or use :

And another thing to check your grant permission for remote connection :

errno 111 is ECONNREFUSED, I suppose something is wrong with the router’s DNAT.

It is also possible that your ISP is filtering that port.

Check that your remote host (i.e. the web hosting server you’re trying to connect FROM) allows OUTGOING traffic on port 3306.

I saw the (100) error in this situation. I could connect from my PC/Mac, but not from my website. The MySQL instance was accessible via the internet, but my hosting company wasn’t allowing my website to connect to the database on port 3306.

Once I asked my hosting company to open my web hosting account up to outgoing traffic on port 3306, my website could connect to my remote database.

Источник

Оцените статью