Я использую Ubuntu 20.04.03 с Mysql 8.0.27.
Я несколько раз переустанавливал LAMP с нуля, и на данный момент у меня есть только 3 сайта WordPress, но я также протестировал только 1 и только 2 сайта. Увеличил оперативную память до 2 ГБ и своп до 3 ГБ.
Кажется, ничего не работает, потому что Mysql 8.0.27 продолжает падать, вызывая проблемы с подключением к базе данных на каждом сайте каждую ночь, даже если это совершенно новые сайты без трафика. Когда я редактирую сообщение или даже просматриваю любой из этих веб-сайтов, MySql снова падает. Иногда это даже не начинается с systemctl перезапустить mysql
.
Журнал ошибок Apache не показывает ничего важного:
/usr/sbin/mysqld (mysqld 8.0.27-0ubuntu0.20.04.1), начиная с процесса 1524639
Инициализация InnoDB началась.
Инициализация InnoDB завершена.
Запуск аварийного восстановления XA...
Аварийное восстановление XA завершено.
Устаревшая версия TLS TLSv1 включена для канала mysql_main.
Устаревшая версия TLS TLSv1.1 включена для канала mysql_main.
Сертификат ЦС ca.pem является самозаверяющим.
Канал mysql_main настроен на поддержку TLS. Для этого канала теперь поддерживаются зашифрованные соединения.
X Плагин готов к подключению. Адрес привязки: «127.0.0.1», порт: 33060, сокет: /var/run/mysqld/mysqlx.sock
Я уже проверил, что на самом деле конфиг загружает все версии TLS как приемлемые. Так что никакой реальной ошибки там нет.
журналctl -u mysql
Последний журнал журнала:
28 января 10:29:37 www.ignicion.org systemd[1]: mysql.service: Ошибка с результатом «сигнал».
28 января, 10:29:37 www.ignicion.org systemd[1]: mysql.service: запланированное задание перезапуска, счетчик перезапусков равен 5.
28 января, 10:29:37 www.ignicion.org systemd[1]: сервер сообщества MySQL остановлен.
28 января 10:29:37 www.ignicion.org systemd[1]: Запуск MySQL Community Server...
28 января 10:29:43 www.ignicion.org systemd[1]: mysql.service: основной процесс завершен, код = убит, статус = 9/KILL
28 января, 10:29:43 www.ignicion.org systemd[1]: mysql.service: Ошибка с результатом «сигнал».
28 января, 10:29:43 www.ignicion.org systemd[1]: не удалось запустить MySQL Community Server.
28 января, 10:29:43 www.ignicion.org systemd[1]: mysql.service: запланированное задание перезапуска, счетчик перезапусков равен 6.
28 января 10:29:43 www.ignicion.org systemd[1]: сервер сообщества MySQL остановлен.
28 января 10:29:43 www.ignicion.org systemd[1]: Запуск MySQL Community Server...
28 января, 10:29:50 www.ignicion.org systemd[1]: запущен MySQL Community Server.
Я знаю, что это проблема с памятью, но почему? Не похоже, что сервер делает так много. Я отслеживаю процесс, и Mysql потребляет всю память.
Эти же новые базы данных отлично работали на Ubuntu 18, поэтому у меня действительно нет идей, и я не могу найти решения связанных проблем, которые я нашел на форуме. Некоторые решения, которые я нашел, говорят о повреждении базы данных/таблицы, но это совершенно новые базы данных, и сбой оборудования был отклонен службой поддержки Digital Ocean.
буду признателен за любую информацию
Обновление №1
Нет резервного копирования или любой другой запланированной задачи. Это просто совершенно новая установка и новые базы данных. Это мой файл конфигурации в Ubuntu 20: /etc/mysql/mysql.conf.d
[mysqld]
пользователь = mysql
адрес привязки = 127.0.0.1
mysqlx-bind-адрес = 127.0.0.1
key_buffer_size = 16M
myisam-recover-options = РЕЗЕРВНАЯ КОПИЯ
log_error = /var/log/mysql/error.log
max_binlog_size = 100M
innodb_file_per_table = 1
И из моего файла журнала ядра (хвост -100 /var/log/kern.log) кажется, что Сигнал SIGKILL 9 Term Kill
сигнал убивает mysql из-за слишком большого использования памяти
28 января 18:12:26 www ядро: [623011.971582] oom-kill:constraint=CONSTRAINT_NONE,
nodemask= (null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/mysql.service,task=mysqld,pid=1669785,uid=113
28 января 18:12:26 www ядро: [623011.971617] Недостаточно памяти: убитый процесс 166978
5 (mysqld) total-vm: 720836kB, anon-rss: 292028kB, файл-rss: 804kB, shmem-rss: 0kB,
UID:113 pgtables:816kB oom_score_adj:0
28 января 18:12:26 www ядро: [623012.005506] oom_reaper: собран процесс 1669785 (mysqld), теперь anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Итак, я читал, что я должен проверить конфигурацию буферов Mysql, и вот где я нахожусь в данный момент.
ОБНОВЛЕНИЕ №2
кот /proc/meminfo
Общий объем памяти: 2030808 КБ
МемСвободно: 54016 КБ
Доступно: 3424 КБ
Буферы: 240 КБ
Кэшировано: 285620 КБ
SwapCached: 44532 КБ
Активный: 1188660 КБ
Неактивно: 495868 КБ
Активный(анон): 1187984 КБ
Неактивный (анон): 495088 КБ
Активный (файл): 676 КБ
Неактивный(файл): 780 КБ
Неизбежный: 19120 КБ
Заблокировано: 19120 КБ
SwapTotal: 3145724 КБ
SwapFree: 0 КБ
Грязный: 0 КБ
Обратная запись: 0 КБ
Страницы: 1383352 КБ
Нанесено на карту: 284872 КБ
Шмем: 276064 КБ
KReclaimable: 47968 КБ
Слэб: 171388 КБ
SReclaimable: 47968 КБ
SUnreclaim: 123420 КБ
Стек ядра: 7744 КБ
Таблицы страниц: 59832 КБ
NFS_Unstable: 0 КБ
Отказ: 0 КБ
WritebackTmp: 0 КБ
Предел фиксации: 4161128 КБ
Committed_AS: 9186644 КБ
VmallocTotal: 34359738367 КБ
VmallocUsed: 16512 КБ
VmallocChunk: 0 КБ
Процессор: 1808 КБ
HardwareCorrupted: 0 kB
AnonHugePages: 0 кБ
Страниц ShmemHuge: 0 kB
ShmemPmdMapped: 0 КБ
FileHugePages: 0 КБ
FilePmdMapped: 0 КБ
CmaВсего: 0 КБ
CmaFree: 0 КБ
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Огромный размер страницы: 2048 КБ
Hugetlb: 0 КБ
DirectMap4k: 1335276 КБ
DirectMap2M: 761856 КБ
ps -aux --sort -rss|head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mysql 1715614 6,7 18,8 1763392 383344 ? SSL 22:21 0:01 /usr/sbin/mysqld
aceitep+ 1686006 0,0 2,0 342620 41076 ? С 19:44 0:02 /bin/php-cgi7.4
aceitep+ 1686009 0,0 1,9 265576 39268 ? С 19:44 0:02 /bin/php-cgi7.4
aceitep+ 1686001 0,0 1,8 342152 38348 ? С 19:44 0:04 /bin/php-cgi7.4
И поскольку я думал, что это связано с некоторыми переменными mysql, я запустил MySql Tunner, и это была рекомендация:
Переменные для настройки:
innodb_buffer_pool_size (>= 391,3M), если возможно.
innodb_log_file_size должен быть (= 16M), если это возможно, поэтому общий размер файлов журнала InnoDB равен 25% размера буферного пула.
Так что я буду тестировать, чтобы увеличить это и опубликовать результаты.
ОБНОВЛЕНИЕ №3
Добавлен innodb_buffer_pool_size = 512M
к моему /etc/mysql/mysql.conf.d/mysqld.cnf
файл и все еще сбой. Логи все те же. :(
Это нормально, что моя общая большая память, выделенная равной нулю, когда я запускаю Show Статус движка InnoDB;
----------------------
БУФЕРНЫЙ ПУЛ И ПАМЯТЬ
----------------------
**Общая большая выделенная память 0**
Словарной памяти выделено 1009720
Размер буферного пула 32765
Бесплатные буферы 29298
Страниц базы данных 3405
Старые страницы базы данных 1276
Модифицированные страницы БД 0
А как насчет того, когда я запускаю шоу переменные типа 'innodb_%';
innodb_buffer_pool_size | 536870912
innodb_change_buffer_max_size | 25
Почему размер буферного пула не совпадает и что это innodb_change_buffer_max_size
значит?
Какие еще переменные я должен проверить?
Еще раз спасибо ребята