Ошибки

MySQL 2003: Can't connect to MySQL server on — что делать

Ошибка 2003 значит, что программа не смогла подключиться к базе по сети. Число в скобках подсказывает причину: 111 — подключение отклонено, 110 — ответа не дождались.

Обновлено 10.10.2026≈ 4 мин чтения
Содержание 7

Как выглядит ошибка

В MySQL:

ERROR 2003 (HY000): Can't connect to MySQL server on '203.0.113.10:3306' (111)

В MariaDB:

ERROR 2003 (HY000): Can't connect to server on '203.0.113.10' (111)

В кавычках — адрес, к которому шло подключение; 3306 — порт MySQL и MariaDB. Адрес 203.0.113.10 в примерах условный, у вас будет свой. Число в скобках — системный код ошибки:

  • (111) — подключение отклонено: на этом адресе и порту никто не принимает подключения. Служба базы не запущена или принимает подключения только с этого же сервера.
  • (110) — ответа не дождались: порт закрыт фаерволом, который молча отбрасывает подключения, или адрес не тот.

Если программа и база на одном сервере

Сначала проверьте, что служба базы работает, — шаги на странице ошибки 2002. Затем убедитесь, что программа подключается к localhost или 127.0.0.1, а не к внешнему IP-адресу сервера: MySQL и MariaDB из пакетов Ubuntu принимают подключения только с самого сервера.

Если подключаетесь с другого компьютера

Посмотрите, на каком адресе база ждёт подключений. Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

sudo ss -tlnp | grep 3306

Если перед :3306 стоит 127.0.0.1, база принимает подключения только с этого сервера. Так настроено сразу после установки: в файлах настроек MySQL и MariaDB из пакетов Ubuntu стоит строка bind-address = 127.0.0.1. Это защищает базу от подбора паролей из интернета.

Есть два способа подключиться снаружи.

Способ 1. SSH-туннель — порт базы остаётся закрытым. На своём компьютере откройте терминал (как открыть) и выполните команду, подставив свой логин и IP-адрес сервера:

ssh -L 3307:127.0.0.1:3306 ivan@203.0.113.10

Пока это окно открыто, программа на вашем компьютере может подключаться к адресу 127.0.0.1 и порту 3307 — подключение пройдёт по SSH и попадёт в базу на сервере. Закроете окно — туннель закроется.

Способ 2. Открыть порт базы для одного адреса. Это нужно, если к базе ходит другой сервер. Как поменять bind-address, завести пользователя для одного IP и открыть порт в фаерволе только ему — по шагам в статье Сервер для базы данных: как не открыть базу всему интернету.

Если число в скобках 110

Ответа нет вовсе: проверьте, тот ли IP-адрес в настройках программы, и правила фаервола на сервере:

sudo ufw status

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

Если сайт на обычном хостинге

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

Тексты ошибок и настройки сверены с исходным кодом MySQL 8.0.46 и MariaDB 10.11.14 — эти версии ставятся из пакетов Ubuntu 24.04. В других версиях строки могут немного отличаться.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026