После обновления mysql, работающего на ZFS до версии 8.0 сервис не стартует, а в логе /var/log/mysql/error.log и наблюдаю такое:
The redo log file ./#innodb_redo/#ib_redo5 size 3072000 is not a multiple of innodb_page_size
https://stackoverflow.com/a/73200473
Вот тут написано - что нужно довести его размер до кратного 8192 или 16384 (в завосимости от заданного innodb_page_size) путём дописывания нулей в конец файла.
В моем случае - размер файла кратен 8192, но не кратен 16384.
Попробую дописать в файл 8192 нуля:
dd if=/dev/zero bs=1 count=8192 of=./zeros cat zeros >> /var/lib/mysql/#innodb_redo/#ib_redo5 service mysql restart
Или еще проще, для всех файлов сразу:
truncate -s 64M /var/lib/mysql/#innodb_redo/#ib_redo*
В результате - сервис нормально стартует.
Однако - успешный запуск не предполагает успешного перезапуска. Чтобы зафиксировать успех делаем следующее:
cp /lib/systemd/system/mysql.service /etc/systemd/system/
ExecStartPre=+/bin/bash -c '/usr/bin/truncate -s 64M /var/lib/mysql/#innodb_redo/#ib_redo*'
systemctl daemon-reload
service mysql restart