Вход • Регистрация

Ломается БД и не запускается

  • 19 августа, понедельник
  • Помогите, пожалуйста, разобраться с причиной поломки БД.
    Никаких изменений в сайт не вносилось, все работало стабильно.
    Перестает работать сайт, восстанавливаем, работает, и снова ломается.
    На хостинге говорят проблемы с БД. Можете посмотреть, пожалуйста, кто разбирается?

    Останавливается сервис mariadb:

    [root@papatuning ~]# systemctl status mariadb.service -l
    mariadb.service - MariaDB database server
    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
    Active: inactive (dead) since Sun 2024-08-18 08:48:40 UTC; 2h 5min ago
    Process: 1100 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
    Process: 1099 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
    Process: 989 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
    Main PID: 1099 (code=exited, status=0/SUCCESS)

    При запуске возникает ошибка:

    240818 8:48:39 [Note] /usr/libexec/mysqld (mysqld 5.5.65-MariaDB) starting as process 32336 ...
    240818 8:48:39 InnoDB: The InnoDB memory heap is disabled
    240818 8:48:39 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    240818 8:48:39 InnoDB: Compressed tables use zlib 1.2.7
    240818 8:48:39 InnoDB: Using Linux native AIO
    240818 8:48:39 InnoDB: Initializing buffer pool, size = 852.0M
    240818 8:48:39 InnoDB: Completed initialization of buffer pool
    240818 8:48:39 InnoDB: highest supported file format is Barracuda.
    240818 8:48:39 InnoDB: Starting crash recovery from checkpoint LSN=108373520862
    InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
    240818 8:48:39 InnoDB: Starting final batch to recover 3799 pages from redo log
    240818 8:48:40 InnoDB: Waiting for the background threads to start
    240818 8:48:40 InnoDB: Assertion failure in thread 140386844538624 in file btr0btr.c line 3383
    InnoDB: Failing assertion: btr_page_get_prev(merge_page, mtr) == buf_block_get_page_no(block)
    InnoDB: We intentionally generate a memory trap.
    InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
    InnoDB: If you get repeated assertion failures or crashes, even
    InnoDB: immediately after the mysqld startup, there may be
    InnoDB: corruption in the InnoDB tablespace. Please refer to
    InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
    InnoDB: about forcing recovery.
    240818 8:48:40 [ERROR] mysqld got signal 6 ;
    • 20 августа, вторник , редакция: 20 августа, вторник
    • Доброго времени суток.

      На мой взгляд, Вами представлена неполная информация. Необходимо видеть содержание лога на момент ошибки в дополнение к тому содержанию (момент перезапуска), что вы представили. Неплохо было бы видеть и состояние используемых ресурсов. Например, достаточно ли выделяемой памяти как оперативной, так и дисковой.

      Исходя из того, что представлено, предполагаю - движку innodb в конфигурации mariadb недостаточно выделено памяти. Для этого посмотрите конфигурационный файл mariadb, обращая внимание на параметры конфигурации "innodb_". В том числе попробуйте сделать буферный пул innodb намного больше. При этом учитывайте физические ограничения сервера, на котором это все работает.

      Дополню себя )

      Не относитесь к конфигурации mariadb спустя рукава: не верно оставлять дефолтные настройки или слепо копировать чьи то. В-первую очередь настройки зависят от выделяемых ресурсов: количество ядер, оперативной памяти и дискового пространства. Во-вторую очередь от используемого движка и что в таблицах. Обращайте внимание на такие параметры, как key_buffer_size, query_cache_size, tmp_table_size, innodb_buffer_pool_size, innodb_additional_mem_pool_size, innodb_log_buffer_size, max_connections, sort_buffer_size, read_buffer_size, read_rnd_buffer_size, join_buffer_size, thread_stack, binlog_cache_size и так далее. То есть при правильной настройке можно добиться значительного прироста в скорости.

      Искренне желаю успехов.
  • 27 августа, вторник
  • Судя по сообщению об ошибке, сервис MariaDB падает из-за сбоя в движке InnoDB, связанного с повреждением таблиц в пространстве таблиц InnoDB.
    • 27 августа, вторник
    • Может поможет сменить тип хранения InnoDB на другой?

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум