MySQL 2003: Can't connect to MySQL server on — что делать
Ошибка 2003 значит, что программа не смогла подключиться к базе по сети. Число в скобках подсказывает причину: 111 — подключение отклонено, 110 — ответа не дождались.
Содержание 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. В других версиях строки могут немного отличаться.
Источники
- Исходный код MySQL 8.0.46: errmsg.cc — тексты ошибок программы-клиента MySQL.
- Исходный код клиентской библиотеки MariaDB: ma_errmsg.c — тексты ошибок программы-клиента MariaDB.
- Пакет MySQL в Ubuntu 24.04: mysqld.cnf — файл настроек сервера: bind-address, журнал, max_allowed_packet.
- Пакет MariaDB в Ubuntu 24.04: 50-server.cnf — файл настроек сервера: bind-address, max_allowed_packet.
- Исходный код Linux: errno.h — номера системных ошибок: 110 — истекло время, 111 — подключение отклонено.
- man ssh — ключ -L для туннеля.
- man ufw — правила фаервола.
Сверено 10 октября 2026 года.
Что почитать дальше
- Порт 3306: MySQL и MariaDB — как подключиться к базе через SSH-туннель.
- Все ошибки MySQL и MariaDB.
- Сервер для базы данных: как не открыть базу всему интернету.
- Ошибка 2002.
- Как подключиться к VPS по SSH.
Проверено и обновлено: 10.10.2026