Corretta manutenzione del database MySQL


8

Spero che questa non sia una domanda troppo ampia. Sono certo che sarà in grado di aiutare me e qualsiasi futuro dba noob che inciampano su di esso.

Sono un amministratore di sistema che è stato inserito nel ruolo di DBA (perché ho aiutato il CEO con le sue prospettive, quindi ovviamente posso gestire i nostri database!). Non è così grande o occupato da un server di database ... un mysqldump ha una dimensione di circa 6 GB e ci sono voluti 5 anni per renderlo così grande. Munin riferisce che stiamo calcolando in media 40-60 query al secondo nelle nostre ore di punta.

Il mio capo mi ha pagato per seguire il corso di amministrazione dei sistemi Oracle University, ma dopo averlo seguito, spiega semplicemente le diverse parti del server mysql, cosa fanno le cose e come lo fanno. Ma non è così approfondito e sicuramente non esci da quel corso un DBA.

Quindi, come l'attuale DBA, cosa devo fare per assicurarmi che tutto funzioni senza intoppi? Ci sono attività di manutenzione giornaliera che posso eseguire? Ci sono alcune metriche che dovrei controllare? O, in altre parole, come DBA, cosa fai quotidianamente per mantenere tutto in forma?

Se ti aiuterà a personalizzare un po 'la risposta, ecco alcuni dettagli. Abbiamo 171 tavoli, tutti tranne 3 sono innodb, gli altri sono myisam. Abbiamo installato la replica Master / Slave tra il nostro datacenter primario e il nostro sito di ripristino di emergenza, utilizzando RBR. La versione è 5.5.28.

Cosa posso fare?

Risposte:


10

Cominciando dall'inizio. Assicurati di aver sviluppato e documentato una strategia di disaster recovery (DR). Dedica un po 'di tempo a pensare ai modi in cui le cose possono andare storte, a come recuperarle e a testarle per farti un'idea di quanto tempo ci vorrà, soprattutto quando esegui il ripristino da un backup. Alcune idee generali:

  • mysql si è arrestato in modo anomalo, ma il server va bene: correggi l'errore e avvia mysql.
  • MySQL deve essere ripristinato da un backup: ripristina da un backup e avvia mysql <- prova questo prima che diventi qualcosa che devi fare in caso di emergenza.
  • Il server è morto e deve essere sostituito: installa un server sostitutivo e ripristinalo da un backup.

Dopo aver sviluppato una strategia DR e un metodo sviluppato per testare i backup, è possibile passare ad attività più periodiche:

  • testare il processo di ripristino regolarmente. Questo assicura familiarità nel caso in cui sia necessario.
  • assicurare indici adeguati. Se si utilizza il server percona, è possibile ottenere statistiche sugli indici inutilizzati dopo un determinato periodo (circa un mese)
  • revisione lenta delle query. Abilita il log delle query lente con un tempo di query lungo di circa 1 secondo e utilizza pt-query-digest per esaminarle su base settimanale / mensile.
  • leggi http://www.mysqlperformanceblog.com/ e blog da http://planet.mysql.com/ .. su un database così piccolo, raramente avrai molti dei problemi di prestazioni di interesse. Quindi avrai un sacco di tempo per leggere su problemi interessanti e su come risolverli.

Grazie per i collegamenti e i suggerimenti. Questo mi dà un buon punto di partenza.
Safado,

1

Che dire del backup di dati e programmi? Controlla l'hardware e l'archiviazione su cui si trova MySQL Controlla tutti i registri su base giornaliera o tempestiva Spazio su disco anche con estensioni automatiche - dovrebbe essere guardato Assicurati che una persona stia svolgendo il lavoro DBA (organizzazione) Sicurezza - rivedi la politica per i tipi di dati e chi sta accedendo Mantieni aggiornato il tuo database - entro limiti ragionevoli Preparati a diversi disastri e ripristinando da tali disastri

/ Mark J. Richards

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.