Maintenance appropriée de la base de données MySQL


8

J'espère que ce n'est pas une question trop large. Je suis certain qu'il pourra m'aider ainsi que tous les futurs nobles dba qui tomberont dessus.

Je suis un administrateur système qui a été intégré au DBA (parce que j'ai aidé le PDG dans ses perspectives, donc je peux évidemment gérer nos bases de données!). Ce n'est pas si gros ou occupé d'un serveur de base de données ... un mysqldump fait environ 6 Go et il nous a fallu 5 ans pour le faire aussi gros. Munin rapporte que nous effectuons en moyenne 40 à 60 requêtes par seconde à nos heures de pointe.

Mon patron m'a payé pour suivre le cours d'administration des systèmes Oracle University, mais après l'avoir suivi, il explique simplement les différentes parties du serveur mysql, ce que les choses font et comment elles le font. Mais ce n'est pas si détaillé et vous ne sortez certainement pas de ce cours un DBA.

Donc, en tant que DBA actuel, que dois-je faire pour m'assurer que tout fonctionne bien? Y a-t-il des tâches de maintenance quotidiennes que je peux effectuer? Y a-t-il certaines mesures que je devrais vérifier? Ou pour le dire autrement, en tant qu'administrateurs de base de données, que faites-VOUS quotidiennement pour garder tout en bon état?

Si cela peut aider à adapter un peu la réponse, voici quelques détails. Nous avons 171 tables, toutes sauf 3 sont innodb, les autres sont myisam. Nous avons mis en place une réplication maître / esclave entre notre centre de données principal et notre site de reprise après sinistre, à l'aide de RBR. La version est 5.5.28.

Que puis-je faire?

Réponses:


10

Tout d'abord. Assurez-vous d'avoir développé et documenté une stratégie de reprise après sinistre (DR). Passez un peu de temps à réfléchir aux façons dont les choses peuvent mal se passer, comment les récupérer et à les tester pour avoir une idée du temps que cela prendra, en particulier lors de la restauration à partir d'une sauvegarde. Quelques idées générales:

  • mysql s'est planté, mais le serveur va bien: corrigez l'erreur et démarrez mysql.
  • MySQL doit être restauré à partir d'une sauvegarde: restaurez à partir d'une sauvegarde et démarrez mysql <- testez cela avant qu'il ne devienne quelque chose que vous devez faire en cas d'urgence.
  • Le serveur est mort et doit être remplacé: installez un serveur de remplacement et restaurez-le à partir d'une sauvegarde.

Une fois que vous avez mis en place une stratégie DR et une méthode pour tester vos sauvegardes, vous pouvez passer à des tâches plus périodiques:

  • testez régulièrement votre processus de restauration. Cela garantit la familiarité au cas où cela serait nécessaire.
  • assurer des index appropriés. Si vous utilisez un serveur percona, vous pouvez obtenir des statistiques sur les index inutilisés après un certain temps (environ un mois)
  • examen lent des requêtes. Activez le journal des requêtes lentes avec un temps de requête long d'environ 1 seconde et utilisez pt-query-digest pour les consulter sur une base hebdomadaire / mensuelle.
  • lire http://www.mysqlperformanceblog.com/ et les blogs de http://planet.mysql.com/ .. sur une si petite base de données, vous aurez rarement beaucoup de problèmes de performances qui vous intéressent. Vous aurez donc tout le temps nécessaire pour lire sur des problèmes intéressants et comment les résoudre.

Merci pour les liens et les suggestions. Cela me donne un bon point de départ.
Safado

1

Qu'en est-il de la sauvegarde des données et des programmes? Examiner le matériel et le stockage sur lesquels MySQL est assis Examiner tous les journaux quotidiennement ou en temps opportun L'espace disque même avec des extensions automatiques - il doit être surveillé Assurez-vous qu'une seule personne effectue le travail DBA (organisation) Sécurité - passez en revue la politique pour les types de données et qui y accède Gardez votre base de données à jour - dans des limites raisonnables Préparez-vous à différentes catastrophes et récupérez de ces catastrophes

/ Mark J. Richards

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.