Mantenimiento adecuado de la base de datos MySQL

8

Espero que esta no sea una pregunta demasiado amplia. Estoy seguro de que podrá ayudarme a mí y a los futuros novatos de dba que se encuentren con él.

Soy un administrador de sistemas que se puso en el rol de DBA (porque ayudé al CEO con su perspectiva, ¡así que obviamente puedo administrar nuestras bases de datos!). No es un servidor de base de datos tan grande u ocupado ... un mysqldump tiene un tamaño de aproximadamente 6 GB y nos ha llevado 5 años lograr que sea tan grande. Munin informa que estamos promediando 40-60 consultas por segundo en nuestras horas pico.

Mi jefe me pagó para que tomara el curso de administración de sistemas de Oracle University, pero después de haberlo hecho, simplemente explica las diferentes partes del servidor mysql, qué hacen y cómo lo hacen. Pero no es tan profundo y definitivamente no sale de ese curso un DBA.

Entonces, como el DBA actual, ¿qué debo hacer para asegurarme de que todo funcione sin problemas? ¿Hay tareas de mantenimiento diario que pueda realizar? ¿Hay ciertas métricas que debería verificar? O para decirlo de otra manera, como DBA, ¿qué haces TÚ a diario para mantener todo en buena forma?

Si ayudará a adaptar un poco la respuesta, aquí hay algunos detalles. Tenemos 171 mesas, todas menos 3 son innodb, las otras son myisam. Tenemos la replicación Maestro / Esclavo configurada entre nuestro centro de datos primario y nuestro sitio de recuperación de desastres, utilizando RBR. La versión es 5.5.28.

¿Que puedo hacer?

Safado
fuente

Respuestas:

10

Lo primero es lo primero. Asegúrese de haber desarrollado y documentado una estrategia de recuperación ante desastres (DR). Dedique un tiempo a pensar en las formas en que las cosas pueden salir mal, cómo recuperarse de ellas y probándolas para tener una idea de cuánto tiempo tomará, especialmente al restaurar desde una copia de seguridad. Algunas ideas generales:

  • mysql se bloqueó, pero el servidor está bien: corrija el error e inicie mysql.
  • MySQL tiene que restaurarse desde una copia de seguridad: restaurar desde una copia de seguridad e iniciar mysql <- pruebe esto antes de que se convierta en algo que debe hacer en caso de emergencia.
  • El servidor murió y debe ser reemplazado: instale un servidor de reemplazo y restaure desde una copia de seguridad.

Una vez que tenga una estrategia de recuperación ante desastres y un método desarrollado para probar sus copias de seguridad, puede pasar a tareas más periódicas:

  • prueba tu proceso de restauración regularmente. Esto asegura familiaridad en caso de que sea necesario.
  • Asegurar índices adecuados. Si está utilizando el servidor de Percona, puede obtener estadísticas sobre qué índices no se utilizan después de un tiempo determinado (aproximadamente un mes)
  • Revisión lenta de consultas. Habilite el registro de consulta lento con un tiempo de consulta largo de 1 segundo más o menos y use pt-query-digest para revisarlos semanalmente / mensualmente.
  • lea http://www.mysqlperformanceblog.com/ y los blogs de http://planet.mysql.com/ .. en una base de datos tan pequeña que rara vez tendrá muchos de los problemas de rendimiento que le interesan. Entonces tendrá tiempo de sobra para leer sobre temas interesantes y cómo resolverlos.
Derek Downey
fuente
Gracias por los enlaces y las sugerencias. Esto me da un buen punto de partida.
Safado
1

¿Qué pasa con la copia de seguridad para datos y programas? Revise el hardware y el almacenamiento en el que se encuentra MySQL. Revise todos los registros de manera diaria u oportuna. Espacio en disco, incluso con extensiones automáticas: debe observarse. Asegúrese de que una persona esté haciendo el trabajo de DBA (organización). y quién accede a ella Mantenga su base de datos actualizada, dentro de lo razonable Prepárese para diferentes desastres y recuperarse de esos desastres

/ Mark J. Richards

Mark J. Richards
fuente