2010-12-29 9 views
2

Ich benutze mysqldump für MySQL Backup.PHP Script um MySQL TABLE LOCK Status zu überprüfen

mysqldump --lock-tables.... 

Die DB ist etwa 2 GB, daher dauert mysqldump eine lange Zeit. Wenn jemand versucht, während des Backups auf die Datenbank zuzugreifen, möchte ich eine Nachricht mit der Meldung "Die DB wird gesichert, bitte zurück nach 10 Minuten" senden.

Meine Fragen verwenden PHP-Skript, wie kann ich überprüfen Wenn die MySQL-Tabelle gesperrt ist oder nicht.

Vielen Dank im Voraus.

Mit freundlichen Grüßen, Sanjay

Antwort

1

Wenn Sie sowohl Lese-/Schreib sperren Sie einen PHP-Skript schreiben können, die versuchen, in einer Tabelle zuzugreifen/schreiben, wenn es der MySQL-Server gesperrt ist, wird einen Fehler steigen und Sie kann den Code auswerten und eine Nachricht senden, wenn der Fehler darin besteht, dass die Tabellen gesperrt sind.

HTH!

EDIT: Sie können einen Blick der Funktion MySQL GET_LOCK nehmen

2

Methode bevorzugen, werden Setup-Replikation,
und mysqldump auf dem Slave statt auf Master (unter der Annahme, nur Master dient Anfragen) sein

Sie haben also keine Ausfallzeiten

Verwandte Themen