Я часто сталкивался с проблемами при настройке MariaDB в Debian 11, работающем на виртуальной машине Oracle. Ошибки, которые я вижу, чередуются:
Код: Выделить всё
SQLSTATE[HY000] [2002] Connection refusedКод: Выделить всё
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
- Версия MariaDB< /strong>: 11.5.2-MariaDB, клиент 15.2 для debian-linux-gnu (x86_64)
- ОС: Debian 11 (на Oracle VM)
- ОС: Debian 11 (на Oracle VM)
- ОС li>
Версия PHP: PHP8.3 - Доступ к базе данных осуществляется как через mysqli, так и через PDO.
Сервер MariaDB работает локально, доступ к нему осуществляется через сокет TCP и UNIX. - Удаленный доступ с помощью HeidiSQL работает нормально.
< /ul>
Шаги, которые я пробовал:- Скорректированные настройки, такие как max_allowed_packet, wait_timeout, active_timeout , innodb_buffer_pool_size и Connect_timeout — но проблема не устранена.
- Проверено, что MariaDB работает правильно, используя systemctl status mariadb.< /li>
Проверено соединение вручную через сокет и TCP:
(локальный сокет UNIX)Код: Выделить всё
mysql -u root -p - (TCP)
Код: Выделить всё
mysql -h 127.0.0.1 -P 3306 -u root -p
Оба метода работают вручную, но ошибки в приложении все равно появляются.
- Проверил /var/log/mysql/error.log на наличие ошибок, но не нашел ничего, напрямую объясняющего проблему.
- Пул соединений PHP (постоянные соединения) используется через PDO::ATTR_PERSISTENT, но проблема остается.
- Ошибка «Соединение отклонено» возникает спорадически.
- Сервер MySQL имеет ошибка "ушла" появляется чаще после длительных или больших запросов.
- Системных ресурсов кажется достаточно (показывает умеренное или нулевое использование ЦП и памяти).
Код: Выделить всё
htop - Эта настройка отлично работает в XAMPP (Windows), но не в Debian 11 с Oracle VM.
- Что может вызвать периодические проблемы с подключением, особенно с чередующимися ошибками?
Может ли это быть связано с тем, как MariaDB обрабатывает соединения в Debian 11 (Oracle VM) по сравнению с XAMPP в Windows (который работает нормально)? - Существуют ли какие-либо конкретные MariaDB , Oracle VM или сетевые настройки, которые я мог пропустить и которые могли бы стабилизировать соединение?
Подробнее здесь: https://stackoverflow.com/questions/790 ... riadb-on-d