MariaDB startet nicht
Zur Navigation springen
Zur Suche springen
Quelle = Ticket#2020032210000978
Anbei ein Eintrag für die KB bzw. Wiki. Was tun, wenn MariaDB nicht starten will.
Log checken Sofern eine Inkonsistenz vorliegt, nach Anleitung verfahren
Zusammenfassung zu den Schritten für die Entstörung:
- folgendes ist mir beim start der Datenbank in den Logfiles aufgefallen:
200322 8:28:21 [ERROR] mysqld: Aria recovery failed. Please run aria_chk -r on all Aria tables and delete all aria_log.######## files 200322 8:28:21 [ERROR] Plugin 'Aria' init function returned error. 200322 8:28:21 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed. 200322 8:28:21 [ERROR] Aria engine is not enabled or did not start. The Aria engine must be enabled to continue as mysqld was configured with --with-aria-tmp-tables
- Hier lag also eine Inkonsistenz vor, dies konnte ich beheben indem ich das aria_log_control file neu generiert habe.
- Hierzu habe ich die Datei im gestoppten Status von Mariadb entfernt. Beim nächsten Start von Mariadb wurde diese neu generiert und mariadb startete durch.
- Nach dem Start habe ich die logs weiter geprüft hierbei ist mir folgendes aufgefallen:
- 200322 9:00:07 InnoDB: error: space object of table 'patrickbaranek_shopware/s_user_shippingaddress_attributes',
- InnoDB: open the tablespace file './patrickbaranek_shopware/s_user_shippingaddress_attributes.ibd'!
- Nach Prüfung auf dem Filesystem und den Backups wurde diese Datenbank bereits vor längerer zeit min. Aber vor dem 04.03 gelöscht.
- Dies wurde anscheinend nicht "sauber" abgeschlossen, so das mariadb noch dachte die Tabelle wäre existent und daher wurde beim Start von Mariadb ein Fehler geworfen.
- Ich habe dies nun wie folgt bereinigt:
-
- Auf dem passenden Server via SSH einloggen
1. temporäre Datenbank anlegen
plesk db-
mysql> CREATE SCHEMA recovery;mysql> use recoverymysql> CREATE TABLE s_user_shippingaddress_attributes (id INT) ENGINE = InnoDB;
2. temporäre Tabelle kopieren
mkdir /var/lib/mysql/patrickbaranek_shopwarechown mysql:mysql /var/lib/mysql/patrickbaranek_shopwarecp -p /var/lib/mysql/recovery/s_user_shippingaddress_attributes /var/lib/mysql/patrickbaranek_shopware/
3. Bereinigung der Datenbank und Tabelle
mysql> DROP SCHEMA recovery;mysql> use patrickbaranek_shopwaremysql> DROP TABLE test;mysql> DROP DATABASE patrickbaranek_shopware;- Hierdurch weiss nun auch Mariadb, dass die Tabellen nicht mehr existieren und wirft keine Fehler mehr.