Showing entries 1 to 7
Displaying posts with tag: Backup (reset)
¿Qué herramienta de compresión debería usar para las copias de seguridad de mi base de datos? (Parte I: compresión)

Esta semana hablamos de tamaño, algo que debería preocuparle a cualquier administrador de sistemas a cargo del sistema de backups de cualquier proyecto, y en particular de los backups de una base de datos.

A menudo recibo preguntas sobre cuál es la mejor herramienta de compresión a aplicar en un sistema de copias de seguridad: ¿gzip? ¿bzip2? ¿algún otro?

El entorno de pruebas

Para poder probar diferentes formatos y herramientas, creé un archivo .csv (comma-separated values, valores separados por comas) de tamaño 3.700.635.579 bytes transformando un dump reciente de todos los nodos de la porción europea de España en OpenStreetMap. Tenía un total de 46.741.126 de filas y tenía la siguiente pinta:

171773  38.6048402      -0.0489871      4       2012-08-25 00:37:46     12850816        472193 …
[Lea más]
bacula: sql_create.c Lock wait timeout exceeded; try restarting transaction

En un servidor de bacula nos podemos encontrar con un error similar al siguiente:

Fatal error: sql_create.c:860 Fill File table Query failed: INSERT INTO File (...): ERR=Lock wait timeout exceeded; try restarting transaction

Se trata de un error al insertar en la base de datos, en este caso MySQL. El mensaje Lock wait timeout exceeded; try restarting transaction corresponde a una transacción que ha estado esperando para obtener un recurso (por defecto 50 segundos) y al no obtenerlo se ha cancelado la transacción. Esto proboca que el job de bacula no acabe correctamente.

Al tener los siguientes condicionantes:

  • Se trata de una base de datos MySQL dedicada exclusivamente a Bacula
  • El nivel de …
[Lea más]
Percona Xtrabackup / innobackupex copia de seguridad y el proceso de restauración

Original post: http://anothermysqldba.blogspot.com/2013/06/percona-xtrabackupinnobackupex-backup.html

Este es un ejemplo muy simple de cómo utilizar Percona Xtrabackup / innobackupex 

Este MariaDB sólo tiene la base de datos mundial en ella como un ejemplo de datos. 
Todo esto podría ser un guión, pero por ahora es para fines de demostración. 

Crear una copia de seguridad completa: 

MariaDB [(none)]> create database Start_Of_Demo; -- Just here for the demo
Query OK, 1 row affected (0.00 sec)


[root@Fedora64 src]# innobackupex --no-lock --parallel=4 --user=root …

[Lea más]
Mucha gente cree erroneamente que gracias a la opción...

Mucha gente cree erroneamente que gracias a la opción innodb-file-per-table te permite, como MyISAM, portar una tabla en binario de un servidor a otro de forma transparente o recuperar el backup de una tabla. El problema viene cuando realmente necesitan hacer uso de ese backup y no funciona como ellos esperaban.

Al contrario que con MyISAM, donde los ficheros de tablas MYD e MYI son independientes del resto y portables, todas las tablas de InnoDB dependen de un tablespace común donde se almacenan las definiciones de las tablas y además depende de los IDs de transacciones entre otras cosas. Por lo que, si restauras un .idb, no recuperarás los datos.

Todo esto se aplica a la versión original de MySQL, la desarrollada por Oracle. Pero Xtrabackup y Percona Server nos permite esquivar esta limitación y trabajar con los ficheros binarios como si se tratasen de tablas MyISAM, moviéndolas y restaurándolas de un servidor a otro. …

[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]
En MySQL Cluster existen diferentes formas de hacer backup y debido a...

En MySQL Cluster existen diferentes formas de hacer backup y debido a su arquitectura distribuida hay unas más recomendables que otras. Aquí vamos a ver la nativa, usando el cliente nbd_mgm. Desde esta herramienta de control podremos lanzar ordenes de backup que ejecutará cada nodo de almacenamiento, sacando un snapshot consistente de los datos y sin necesidad de parar el sistema.

Un backup en MySQL Cluster consiste en tres ficheros:

  • Metadatos

BACKUP-backup_id.node_id.ctl

Es un fichero donde se guardan las definiciones de las tablas.

  • Datos de las tablas

BACKUP-backup_id-0.node_id.data

Cada nodo guardará en este fichero los fragmentos de las tablas que gestiona.

  • Log de transacciones

BACKUP-backup_id.node_id.log

Es el log de las transacciones con commit de las que se harán backup.

[Lea más]
Nuevas trasparencias: administración avanzada de MySQL

Aquí os pongo unas nuevas transparencias de un curso que he dado recientemente. Abarca gran cantidad de temas relacionados con la administración de nuestra base de datos favorita :)

  • Instalación
  • Engines
  • Optimización de consultas
  • Optimización de tablas
  • Optimización del servicio
  • Usuarios y permisos
  • Replicación
  • Alta disponibilidad
  • Backup
  • etc. :)

Espero que os guste y os sea de utilidad. Cualquier sugerencia o crítica es bienvenida. Si hay algún fallo comentádmelo para solucionarlo lo antes posible.

¡Gracias a todos!

Mysql AdministracionView more presentations from …

[Lea más]
Showing entries 1 to 7