Ошибка "Превышено время ожидания отклика от сервера MySQL" может возникать по нескольким причинам при установке альтернативной СУБД или работе с MySQL.
Процесс установки альтернативной СУБД не выполняется, в веб-интерфейсе панели появляется сообщение об ошибке Превышено время ожидания отклика от сервера MySQL.
wait_timeout
и interactive_timeout
в конфигурации MySQL. Если они установлены слишком низко, это может привести к преждевременному разрыву соединенийДальше расскажем, как решить эту проблему.
Отключение AppArmor - одно из условий корректной установки и работы панели ispmanager. Подключитесь к серверу по SSH с правами администратора и выполните следующие команды для отключения AppArmor:
aa-teardown
systemctl disable apparmor
Для корректной работы одного docker-контейнера требуется не менее 1.5Гб оперативной памяти. Узнать объем доступной для использования оперативной памяти, можно с помощью следующей команды:
free -h | awk '{print $6}'
При недостатке памяти контейнер с альтернативной СУБД не сможет запуститься, а в системном логе будут присутствовать ошибки сообщения о работе oom-killer,
проверить их наличие можно при помощи:
grep "Out of" /var/log/syslog - для Debian и Ubuntu
grep "Out of" /var/log/messages - для RHEL-based систем (например, CentOS и AlmaLinux)
Важно увеличить объем доступной ОЗУ, увеличив общий объем ОЗУ и/или оптимизировав потребление оперативной памяти другими приложениями.
При установке Docker в брандмауэре операционной системы создаются специальные цепочки правил, блокировка или удаление которых может привести к нарушению работы Docker.
Убедитесь, что для цепочек INPUT
, OUTPUT
и FORWARD
установлена политика ACCEPT с помощью команды:
iptables -S INPUT | head -1 && iptables -S OUTPUT | head -1 && iptables -S FORWARD | head -1
Далее необходимо проверить наличие правил, которые устанавливает Docker, выполнив следующую команду:
iptables -S | grep DOCKER
Вывод должен содержать следующие цепочки и правила:
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-USER
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 3306 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
Если какие-либо строки отсутствуют, перезапустите службу Docker следующей командой:
systemctl restart docker
Проверьте доступность серверов Docker с помощью команды:
curl -ikLv https://download.docker.com
Сервер считается доступным, если в выводе будет присутствовать значение "HTTP/2 200". В ином случае, необходимо проверить сетевые настройки на сервере и вышестоящем оборудовании, например на стороне хостинг- или интернет-провайдера.
Также проверьте, что на вашем сервере разрешается домен download.docker.com, выполнив команду:
dig A download.docker.com +short
Корректный вывод будет содержать IP-адреса и доменные имена, например:
d2h67oheeuigaw.cloudfront.net.
3.164.240.119
3.164.240.123
Если вывод содержит ошибки, необходимо проверить настройки DNS на сервере и работу используемых DNS-серверов, что указаны в /etc/resolve.conf
Драйвер devicemaper - устаревший драйвер файловой системы для Docker. Актуальный драйвер - это overlay2. Проверить драйвер, который используется Docker, можно с помощью команды:
docker info | grep 'Storage Driver'
Если проблема сохраняется после выполнения этих шагов, уточните детали: какая именно альтернативная СУБД устанавливается и какие действия выполнялись до возникновения ошибки.