Schlagwort-Archive: Security

Error: 1286 Unknown table engine ‚InnoDB‘

Eine Datenbank wie beispielsweise MySQL sollte unter Linux nicht unter root laufen. Dies kann nämlich eine eine nicht zu unterschätzende Sicherheitslücke darstellen. Also habe ich mich ans Werk gemacht, einen neuen Benutzer mit dem Namen mysql erstellt, so dass MySQL von nun an als normaler Benutzer läuft.

Ein wichtiger Punkt ist dabei ist, das der Benutzer mysql Zugriff auf das MySQL-Verzeichnis hat:

chown -R mysql:mysql /path/to/mysql/datadir

Gesagt, getan. Leider gab es dann bei einem Zugriff auf Tabellen des Typs InnoDB einen Fehler. Der Fehler lautete Error: 1286 Unknown table engine ‚InnoDB‘. Die Engine wurde zwischenzeitlich nicht in der Konfigurations-Datei abgeschaltet, also musste der Fehler wo anders liegen.

Des Rätsels Lösung war, dass der Benutzer mysql nicht auf alle benötigten Verzeichnisse Zugriff hatte. So gab es ein spezielles tmp-Verzeichnis für MySQL, bei dem ich das Ändern der Berechtigungen vergessen hatte. Sobald ich auch hier den Befehl

chown -R mysql:mysql /path/to/mysql/tmpdir

ausgeführt hatte und die Datenbank neu gestartet war, konnte ich auch wieder auf die InnoDB-Tabellen zugreifen.