Showing entries 1 to 4
Displaying posts with tag: Maatkit (reset)
Recopilar información del SO en el momento preciso

Muchas veces los problemas que tenemos con nuestra base de datos no son continuos, si no puntuales, y ocurren generalmente cuando no estamos mirando la pantalla. Las herramientas que hoy voy a mostraron os permitirán cazar el momento exacto de un problema y recabar todos los datos posibles en ese preciso instante de tiempo.

Las dos herramientas pertenecen al Percona Toolkit. Estas toolkit incluyen lo que antes era Aspersa y Maatkit. Por lo tanto, comenzamos descargando:

Percona Toolkit Download

Dentro de el las utilidades que hoy usaremos serán:

pt-collector: es la herramienta que se lanzará cuando una condición específica se de. Entre otras cosas se encargará de recargar información sobre IO, procesos, memoria, processlist, estado de las variables en MySQL y salidas de comandos como iostat, mpstat, df, lsof. También …

[Lea más]
En ocasiones es necesario hacer un análisis de que está pasando en un...

En ocasiones es necesario hacer un análisis de que está pasando en un servidor con MySQL, comprobar que queries se están ejecutando, cuanto tardan, donde están los cuellos de botella, etc. Hay diferentes formas de hacerlos:

  • A lo pobre: ejecutar SHOW FULL PROCESSLIST cada pocos segundos, identificar a ojo las querys que pueden ser interesantes y luego analizarlas.
  • A lo basto: habilitar el log general de MySQL y almacenar todas las querys que se ejecutan. Te llevarás una gran cantidad de IOPS y puede que el fichero termine siendo tan grande que analizarlo sea un infierno.

Como casi siempre, las maatkit vienen a ayudarnos en esta tarea. En esta ocasión, mk-query-digest nos va a permitir analizar la ejecución de querys y generarnos un reporte. Esta utilidad es capaz de coger datos de los logs, pero aquí vamos a utilizar un parámetro que nos …

[Lea más]
Las replicaciones necesitan de un chequeo constante en la integridad de...

Las replicaciones necesitan de un chequeo constante en la integridad de los datos. Fallos de disco, corrupción de de logs, mezcla de tablas transaccionales y no transaccionales y otros problemas pueden tumbar la consistencia de nuestros datos. Por lo tanto, podemos tener una replicación funcionando, pero los datos, si no hay una comprobación activa, pueden ser diferentes en las dos máquinas. MySQL no tiene comprobaciones activas de consistencia, por lo que es trabajo nuestro. Para ello, instalamos las herramientas maatkit de Percona:

apt-get install maatkit

Las herramientras que usaremos serán mk-table-checksum y mk-table-sync. El funcionamiento de la herramienta se basa en la replicación en base a sentencias de mysql. mk-table-checksum realiza una comprobación mediante un algoritmo de hashing en las tablas, escribiendo los resultados en la base de datos. Estas sentencias se replicarán en el esclavo y se volverán a …

[Lea más]
Muchas de las instalaciones de replicación en MySQL no buscan ni...

Muchas de las instalaciones de replicación en MySQL no buscan ni balanceo de escrituras/lecturas ni alta disponibilidad, si no un simple backup en vivo. Montar una replicación es sencillo, no necesita hardware costoso y nos puede salvar de algunas situaciones complicadas. Por ejemplo, corrupción de tablas, errores en la controladora RAID o simplemente borrado de tablas directamente desde el sistema de ficheros. Si alguna de estas cosas pasa, tendremos el esclavo con un backup reciente de nuestros datos.

Pero la gente no tiene en cuenta que un backup usando esclavo no te salva de algunos errores humanos o de programación. Imaginemos que el empleado de recursos humanos se conecta a la base de datos de la empresa y quiere eliminar el salario de un trabajador recientemente despedido. Y ejecuta los siguientes comandos:

master [localhost] {msandbox} (employees) > show tables;
+---------------------+
| Tables_in_employees | …
[Lea más]
Showing entries 1 to 4