06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 50 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en MySQL<br />

• Cada base <strong>de</strong> <strong>datos</strong> se almacena como un subdirectorio <strong>de</strong>l directorio <strong>de</strong><br />

<strong>datos</strong>.<br />

• Cada tabla se almacena en un archivo, acompañada <strong>de</strong> otros archivos auxiliares<br />

con el mismo nombre y diferente extensión.<br />

El problema <strong>de</strong> este mecanismo es que <strong>de</strong>bemos <strong>de</strong>tener el servicio <strong>de</strong> bases <strong>de</strong><br />

<strong>datos</strong> mientras realizamos el respaldo.<br />

5.3.1. mysqlhotcopy<br />

Un mecanismo que permite realizar la copia <strong>de</strong> los archivos <strong>de</strong>l servidor sin<br />

necesidad <strong>de</strong> <strong>de</strong>tener el servicio es el script 'mysqlhotcopy'. El script está escrito<br />

en Perl y bloquea las tablas mientras realiza el respaldo para evitar su modificación.<br />

Se usa <strong>de</strong> la siguiente manera:<br />

$ mysqlhotcopy <strong>de</strong>mo /algun_directorio<br />

En este caso, creará un directorio /algun_directorio/<strong>de</strong>mo con todos los archivos <strong>de</strong> la base<br />

<strong>de</strong> <strong>datos</strong>.<br />

El comando mysqlhotcopy pue<strong>de</strong> recibir sólo el nombre <strong>de</strong> una base <strong>de</strong> <strong>datos</strong><br />

como parámetro:<br />

$ mysqlhotcopy <strong>de</strong>mo<br />

En este caso, creará un directorio /var/lib/mysql/<strong>de</strong>mo_copy.<br />

Este método no funciona para tablas con el mecanismo <strong>de</strong> almacenamiento<br />

tipo InnoDB.<br />

5.3.2. mysqldump<br />

Las dos opciones anteriores representan copias binarias <strong>de</strong> la base <strong>de</strong> <strong>datos</strong>. El<br />

comando mysqldump, en cambio, realiza un volcado <strong>de</strong> las bases <strong>de</strong> <strong>datos</strong> pero<br />

traduciéndolas a SQL; es <strong>de</strong>cir, entrega un archivo <strong>de</strong> texto con todos los comandos<br />

necesarios para volver a reconstruir las bases <strong>de</strong> <strong>datos</strong>, sus tablas y sus<br />

<strong>datos</strong>. Es el método más útil para copiar o distribuir una base <strong>de</strong> <strong>datos</strong> que <strong>de</strong>berá<br />

almacenarse en otros servidores.<br />

$ mysqldump <strong>de</strong>mo > <strong>de</strong>mo.sql

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!