Wenn Tabellen abstürzen, bedeutet dies, dass mit meinem System etwas nicht stimmt.
MySQL said:
#1194 - Table 'tablename' is marked as crashed and should be repaired
Meine Website ist derzeit aus diesem Grund inaktiv.
Ich weiß, wie man einen Tisch von phpmyadmin repariert.
Was ist der wichtige Faktor für dieses Problem?
Frage. Grundsätzlich, warum Tisch abgestürzt?
Antworten Dies können die Gründe sein -
Der Speicherplatz des Servers war voll. (Bitte überprüfen Sie den Speicherplatz auf dem Live-Server.)
Falsches Herunterfahren von MySQL-Server.
Mehr Serverlast.
Zunächst einmal - es gibt viele Gründe für einen abgestürzten Tisch.
Eine Reparatur mit phpmyadmin macht im Wesentlichen dasselbe wie die Befehlszeile von mysqlrepair. Ich würde vorschlagen, alles in der Kommandozeile zu reparieren:
mysqlrepair -A --auto-repair
mysqlrepair -A -o
Oder einen Test starten:
mysqlrepair -A -c
Wenn Sie keine Befehlszeilentools benötigen und der Grund für den Absturz höchstwahrscheinlich MySQL selbst ist, führen Sie diese in MySQL aus, um eine Tabelle zu reparieren:
REPAIR TABLE db_name.table_name;
Ja, Sie können die Tabelle über phpmyadmin reparieren. Dies hat keine Auswirkungen auf Ihre Daten und Sie können die Tabelle auch mit dem Befehl 'myisamchk' von Shell reparieren.
Benutzen:
mysqlcheck -u root -p --auto-repair --check --all-databases
(Password prompted)
Geben Sie das MySQL-Passwort für den Benutzer root ein und alles ist erledigt.
Ich verwende das von der Kommandozeile aus:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Wenn Sie über SSH-Zugriff auf den Server verfügen, können Sie sich anmelden und dann Folgendes ausführen:
df -h
und man könnte so etwas sehen:
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/xxxx 19G 825M 18G 5% /
/dev/cciss/xxxx 9.4G 4.8G 4.2G 54% /usr
/dev/cciss/xxxx 15G 1.8G 12G 13% /var
/dev/cciss/xxxx 19G 18G 0G 0% /opt
/dev/cciss/xxxx 4.7G 243M 4.3G 6% /tmp
/dev/cciss/xxxx 9.4G 1.5G 7.5G 17% /home
Es ist LAMP auf /opt
installiert. Nachdem etwas freier Speicherplatz vorhanden ist, können Sie die Abfrage ausführen (wie oben geschrieben):
Repair table db.mytablecrashed
Und du kommst in die letzte Reihe:
Table OP Msg_type Msg_text
...
db.mytablecrashed repair status OK