sysmerge IT

10 янв. 2019 г.

Mariadb: Recovering after a crash using tc.log, Bad magic header in tc log

Клиент упустил момент, когда диск оказался заполненным и результатом оказалась неприятность с mysql сервером, который не восстанавливался после проблемы с ошибками в логе

янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [Note] Recovering after a crash using tc.log
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Bad magic header in tc log
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback}
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Can't init tc log
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Aborting
янв 10 14:12:09 post4302.vds systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
янв 10 14:12:09 post4302.vds systemd[1]: Failed to start MariaDB 10.1.37 database server.
янв 10 14:12:09 post4302.vds systemd[1]: Unit mariadb.service entered failed state.
янв 10 14:12:09 post4302.vds systemd[1]: mariadb.service failed.

Решение довольно простое, удаляем из директории Mysql файл tc.log
mv /var/lib/mysql/tc.log /var/lib/mysql/tc.log.bkp

Ну не то чтобы удаляем, а скорее убираем.
Делаем рестарт Mysql сервера и все готово
[root@~]# service mysql restart
Restarting mysql (via systemctl):                          [  OK  ]
 
4 янв. 2019 г.

End of script output before headers: php - failed to setgid (1001: php)

Ни с того ни с сего рабочий буквально недавно сайт начал отдавать 500 ошибку с текстом в логе
End of script output before headers: php
В ходе небольших изысканий было обнаружено, что при попытке открыть сайт в лог /var/log/secure сыпятся следующие ошибки от suexec
Jan  3 22:44:58 user300 suexec[7386]: uid: (1001/admin) gid: (1001/admin) cmd: php
Jan  3 22:44:58 user300 suexec[7386]: failed to setgid (1001: php)
Jan  3 22:44:58 user300 suexec[7387]: uid: (1001/admin) gid: (1001/admin) cmd: php
Jan  3 22:44:58 user300 suexec[7387]: failed to setgid (1001: php)
Jan  3 22:44:58 user300 suexec[7388]: uid: (1001/admin) gid: (1001/admin) cmd: php
которые говорят нам о том, что вероятно у бинарника suexec не хватает S флага для установки SUID или SGID. Установить данный флаг можно командой:

chmod u+s /usr/sbin/suexec
после чего ошибки в логе пропадают.