Ordnungsgemäße Wartung der MySQL-Datenbank


8

Ich hoffe, das ist keine allzu breite Frage. Ich bin mir sicher, dass es mir und zukünftigen DBA-Noobs helfen kann, die darauf stoßen.

Ich bin ein Systemadministrator, der in die Rolle des DBA aufgenommen wurde (weil ich dem CEO bei seinem Ausblick geholfen habe, damit ich natürlich unsere Datenbanken verwalten kann!). Es ist nicht so groß oder beschäftigt von einem Datenbankserver ... ein mysqldump ist ungefähr 6 GB groß und wir haben 5 Jahre gebraucht, um es so groß zu machen. Munin berichtet, dass wir zu unseren Stoßzeiten durchschnittlich 40-60 Anfragen pro Sekunde stellen.

Mein Chef hat dafür bezahlt, dass ich den Oracle University-Systemadministrationskurs belegt habe. Nachdem ich ihn durchlaufen habe, werden einfach die verschiedenen Teile des MySQL-Servers erklärt, was die Dinge tun und wie sie es tun. Aber es ist nicht so ausführlich und Sie kommen definitiv nicht als DBA aus diesem Kurs heraus.

Was kann ich als aktueller DBA tun, um sicherzustellen, dass alles reibungslos läuft? Gibt es tägliche Wartungsaufgaben, die ich ausführen kann? Gibt es bestimmte Metriken, die ich überprüfen sollte? Oder anders ausgedrückt: Was tun SIE als Datenbankadministratoren täglich, um alles in gutem Zustand zu halten?

Wenn es Ihnen dabei hilft, die Antwort ein wenig anzupassen, finden Sie hier einige Besonderheiten. Wir haben 171 Tische, alle bis auf 3 sind innodb, die anderen sind myisam. Wir haben die Master / Slave-Replikation zwischen unserem primären Rechenzentrum und unserem Disaster Recovery-Standort mithilfe von RBR eingerichtet. Version ist 5.5.28.

Was kann ich machen?

Antworten:


10

Das wichtigste zuerst. Stellen Sie sicher, dass Sie eine DR-Strategie (Disaster Recovery) entwickelt und dokumentiert haben. Überlegen Sie sich einige Zeit, wie Fehler auftreten können, wie Sie sie beheben können, und testen Sie sie, um eine Vorstellung davon zu erhalten, wie lange es dauern wird, insbesondere beim Wiederherstellen aus einem Backup. Einige allgemeine Ideen:

  • MySQL stürzte ab, aber der Server ist in Ordnung: Fehler beheben und MySQL starten.
  • MySQL muss aus einem Backup wiederhergestellt werden: Stellen Sie es aus einem Backup wieder her und starten Sie mysql <- testen Sie dies, bevor Sie es im Notfall tun müssen.
  • Server ist gestorben und muss ersetzt werden: Richten Sie einen Ersatzserver ein und stellen Sie ihn aus einer Sicherung wieder her.

Sobald Sie eine DR-Strategie und eine Methode zum Testen Ihrer Backups entwickelt haben, können Sie mit periodischeren Aufgaben fortfahren:

  • Testen Sie Ihren Wiederherstellungsprozess regelmäßig. Dies stellt die Vertrautheit für den Fall sicher, dass dies erforderlich ist.
  • Stellen Sie die richtigen Indizes sicher. Wenn Sie einen Percona-Server verwenden, können Sie Statistiken darüber abrufen, welche Indizes nach einer bestimmten Zeit (etwa einem Monat) nicht mehr verwendet werden.
  • langsame Abfrageüberprüfung. Aktivieren Sie das langsame Abfrageprotokoll mit einer langen Abfragezeit von ca. 1 Sekunde und überprüfen Sie es wöchentlich / monatlich mit pt-query-Digest.
  • Lesen Sie http://www.mysqlperformanceblog.com/ und Blogs von http://planet.mysql.com/ .. in einer so kleinen Datenbank, dass Sie selten viele der interessierenden Leistungsprobleme haben. Sie haben also genügend Zeit, um sich über interessante Probleme und deren Lösung zu informieren.

Danke für die Links und die Vorschläge. Dies gibt mir einen guten Ausgangspunkt.
Safado

1

Was ist mit dem Backup für Daten und Programme? Überprüfen Sie die Hardware und den Speicher, auf dem sich MySQL befindet. Überprüfen Sie alle Protokolle täglich oder zeitnah. Speicherplatz auch bei automatischer Erweiterung. Dies sollte überwacht werden. Stellen Sie sicher, dass eine Person die DBA-Arbeit (Organisation) ausführt. Sicherheit - Überprüfen Sie die Richtlinie auf Datentypen und wer darauf zugreift Halten Sie Ihre Datenbank auf dem neuesten Stand - im Rahmen des Zumutbaren Bereiten Sie sich auf verschiedene Katastrophen vor und erholen Sie sich von diesen Katastrophen

/ Mark J. Richards

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.