Проблема с БД

123 4
egorka-I
На сайте с 27.10.2012
Offline
96
764

Проблема с БД появилась недавно, как можно исправить, лог прикладываю.

Приходится решать пока перегрузкой сервера.


Version: '10.3.27-MariaDB-0+deb10u1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Debian 10
2024-01-30  7:45:37 0 [Note] InnoDB: Buffer pool(s) load completed at 240130  7:45:37
2024-01-30  7:45:53 0 [Note] InnoDB: Using Linux native AIO
2024-01-30  7:45:53 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2024-01-30  7:45:53 0 [Note] InnoDB: Uses event mutexes
2024-01-30  7:45:53 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2024-01-30  7:45:53 0 [Note] InnoDB: Number of pools: 1
2024-01-30  7:45:53 0 [Note] InnoDB: Using generic crc32 instructions
2024-01-30  7:45:53 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2024-01-30  7:45:53 0 [Note] InnoDB: Completed initialization of buffer pool
2024-01-30  7:45:53 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2024-01-30  7:45:53 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=115002421941
2024-01-30  7:45:53 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2024-01-30  7:45:53 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2024-01-30  7:45:53 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2024-01-30  7:45:53 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2024-01-30  7:45:53 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2024-01-30  7:45:53 0 [Note] InnoDB: 10.3.27 started; log sequence number 115002421950; transaction id 135711800
2024-01-30  7:45:53 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2024-01-30  7:45:53 0 [Note] Plugin 'FEEDBACK' is disabled.
2024-01-30  7:45:53 0 [Note] Recovering after a crash using tc.log
2024-01-30  7:45:53 0 [Note] Starting crash recovery...
2024-01-30  7:45:53 0 [Note] Crash recovery finished.
2024-01-30  7:45:53 0 [Note] Server socket created on IP: '127.0.0.1'.
2024-01-30  7:45:53 0 [Note] Reading of all Master_info entries succeeded
2024-01-30  7:45:53 0 [Note] Added new Master_info '' to hash table
2024-01-30  7:45:53 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.3.27-MariaDB-0+deb10u1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Debian 10
2024-01-30  7:45:57 0 [Note] InnoDB: Buffer pool(s) load completed at 240130  7:45:57
2024-01-30  7:45:59 52 [ERROR] mysqld: Table './ stap2020/oc_product' is marked as crashed and should be repaired
2024-01-30  7:45:59 52 [Warning] Checking table:   './ stap2020/oc_product'
2024-01-30  7:46:00 56 [ERROR] mysqld: Table './fislo/wp_options' is marked as crashed and should be repaired
2024-01-30  7:46:00 56 [Warning] Checking table:   './fislo/wp_options'
2024-01-30  7:46:01 52 [ERROR] mysqld: Table './ stap2020/oc_article' is marked as crashed and should be repaired
2024-01-30  7:46:01 52 [Warning] Checking table:   './ stap2020/oc_article'
2024-01-30  7:46:14 0 [ERROR] mysqld: Out of memory (Needed 128663552 bytes)
2024-01-30  7:46:14 0 [ERROR] mysqld: Out of memory (Needed 96485376 bytes)
2024-01-30  7:46:14 0 [ERROR] mysqld: Out of memory (Needed 72351744 bytes)
2024-01-30  7:46:14 0 [Note] InnoDB: Using Linux native AIO
2024-01-30  7:46:14 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2024-01-30  7:46:14 0 [Note] InnoDB: Uses event mutexes
2024-01-30  7:46:14 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2024-01-30  7:46:14 0 [Note] InnoDB: Number of pools: 1
2024-01-30  7:46:14 0 [Note] InnoDB: Using generic crc32 instructions
2024-01-30  7:46:14 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2024-01-30  7:46:14 0 [ERROR] InnoDB: mmap(137035776 bytes) failed; errno 12
2024-01-30  7:46:14 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2024-01-30  7:46:14 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2024-01-30  7:46:14 0 [Note] InnoDB: Starting shutdown...
double free or corruption (out)
240130  7:46:15 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.





D
На сайте с 28.06.2008
Offline
1101
#1
что таблицы oc_product и oc_article  в базе данных stap2020 повреждены и требуют восстановления. Так же есть ошибка Out of memory - серверу не хватает памяти. Начните с восстановления таблиц.
NoMoreContent
На сайте с 14.05.2023
Offline
23
#2
Dram #:
что таблицы oc_product и oc_article  в базе данных stap2020 повреждены и требуют восстановления. Так же есть ошибка Out of memory - серверу не хватает памяти. Начните с восстановления таблиц.

Поддерживаю, но начал бы с добавления памяти.

В последнее время популярна практика запускать критически важные для бизнеса приложения на серверах слабее, чем смартфон директора.

Если у сервера есть 128-256 GiB RAM и SSD с RAID-1, половина проблем с базами данных решаются сами собой.

egorka-I
На сайте с 27.10.2012
Offline
96
#3

Все как-то странно, почистил эти БД от сессии они уменьшились в размерах, пока перестали падать БД.

То есть визуально все админки работали, не видно было, чтоб БД повреждены, много лет работают, не было проблем.


У меня

ПроцессорQEMU Virtual CPU version 2.5+ 2199.998 MHz (3 cores)
Оперативная память551 / 3003 MB

Sly32
На сайте с 29.03.2012
Offline
303
#4
NoMoreContent #:
Если у сервера есть 128-256 GiB RAM и SSD с RAID-1, половина проблем с базами данных решаются сами собой.

Как мило, это из серии советов - Если вам не хватает хлеба - ешьте пирожные
Многие ли тут могут позволить сервер на 128Гиг оперативы, а те кто могут - наверняка имеют и своего девопса.

egorka-I :
[Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M

У тебя буфер не влазит при этом все работает в одном процессе, попробуй для начала в 64К поставить

Судя по всему это вордпресс - там бесполезно давать советы по оптимизации запросов, в любом другом случае я бы посоветовал начать с них

W1
На сайте с 22.01.2021
Offline
285
#5
Sly32 #:
Судя по всему это вордпресс - там бесполезно давать советы по оптимизации запросов

И опенкарт там  тоже есть. Поэтому дело не в оптимизации запросов.

Мой форум - https://webinfo.guru –Там я всегда на связи
Sly32
На сайте с 29.03.2012
Offline
303
#6
webinfo #:
Поэтому дело не в оптимизации запросов.

Серьезно??? Перечитай ошибку - нехватка памяти. Первая причина этого в БД - неправильные запросы, которые включают в себя ненужные данные. Вот эти все расширения памяти, увеличение буфера - это все лечить последствия а не причину. Не должно быть в нормальном магазине  запроса по товарам, который забирает  размер всего пула.

W1
На сайте с 22.01.2021
Offline
285
#7
Sly32 #:
Не должно быть в нормальном магазине  запроса по товарам, который забирает  размер всего пула.

Ты где там увидел запрос по товарам?

W1
На сайте с 22.01.2021
Offline
285
#8
egorka-I #:
Оперативная память551 / 3003 MB

А что в настройках насчёт innodb_buffer_pool_size?

Sly32
На сайте с 29.03.2012
Offline
303
#9
webinfo #:
Ты где там увидел запрос по товарам?

При чем тут товары? Ты не понимаешь, что это только пример? Не должен реквест к базе обычного сайта генерить такой респонс, что он не влазит в пул и вызывает переполнение. Почитай теорию для начала.

Кстати еще одной проблемой может быть неправильная работа с сессиями. Если они остаются висеть незакрытыми - запросто может перевести к переполнению. Сталкивался и с таким. В данном случае используется InnoDB,  что соответсвует  ACID,  значит эта проблема легко решаема

Sly32
На сайте с 29.03.2012
Offline
303
#10
webinfo #:
А что в настройках насчёт innodb_buffer_pool_size?

в первом посту в логах слабо увидеть? или не читаешь?

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий