* Primer método: parar el servidor y copiar o restaurar los ficheros, que están
en el directorio de datos (normalmente en ‘/var/lib/mysql/’). Para obtener
dicho directorio:

SHOW VARIABLES LIKE ‘datadir’;

En tablas de tipo MyISAM estos ficheros están en una carpeta con el nombre de
la base de datos, tienen el mismo nombre que las tablas y extensiones ‘*.frm’
(formato), ‘*.myd’ (datos), y ‘*.myi’ (índices).

En tablas de tipo InnoDB se encuentran ficheros con los nombres de las tablas
y extensión ‘*.frm’ en la carpeta de la base de datos, y en el directorio
principal de datos existen varios ficheros de datos con nombre ‘ibdata1’,
‘ibdata2’, … que comparten todas las bases de datos InnoDB del servidor, y
también los ficheros de “logs” de InnoDB: ‘ib_logfile0’, ‘ib_logfile1’, …

(Aviso: si los ficheros InnoDB vamos a copiarlos de un ordenador a otro, debe
cumplirse:
(1) que las bases de datos y tablas tengan nombres en minúsculas;
(2) que ambos ordenadores utilicen aritmética entera de complemento a dos; y
(3) que si hay tablas con columnas de tipo numero real, ambos ordenadores
utilicen el formato de números reales especificado por la IEEE.)

Ejemplos de realización de copias de seguridad: (1) con tar, (2) con zip, (3)
con rsync, (4) con cp, (5) con cp sólo bbdd world, (6) con cp sólo tabla City.

mysqladmin -u root -p shutdown

(1) sudo tar czf /tmp/mysql-backup.tar.gz /var/lib/mysql/
(2) sudo zip -r /tmp/mysql-backup.zip /var/lib/mysql/
(3) sudo rsync -r /var/lib/mysql/ /tmp/mysql-backup
(4) sudo cp -r /var/lib/mysql/ /tmp/mysql-backup
(5) sudo cp -r /var/lib/mysql/world/ /tmp/mysql-backup
(6) sudo cp -r /var/lib/mysql/world/City.* /tmp/mysql-backup

sudo /etc/init.d/mysql start

Ejemplos de restauración de las copias (vigilad con los permisos y con que el
propietario de los ficheros siga siendo ‘mysql’):

sudo /etc/init.d/mysql stop

sudo cp -r /otro_directorio/ /var/lib/mysql/
sudo chown -R mysql.mysql /var/lib/mysql/

sudo /etc/init.d/mysql start

* Segundo método: mediante el script ‘mysqlhotcopy’. Sólo sirve para tablas
MyISAM, pero es rápido y no hace falta parar el servidor ya que el script
bloquea las tablas. Se ejecuta localmente en el servidor.

Ejemplos de realización de copias de seguridad:

sudo mysqlhotcopy world /otro_directorio -u root -p contraseña

Ejemplos de restauración de las copias (vigilad con los permisos y con que el
propietario de los ficheros siga siendo ‘mysql’):

sudo /etc/init.d/mysql stop

sudo cp -r /otro_directorio/ /var/lib/mysql/
sudo chown -R mysql.mysql /var/lib/mysql/

sudo /etc/init.d/mysql start

* Tercer método: mediante el comando ‘mysqldump’. Es menos rápido, pero sirve
para todo tipo de tablas. El fichero que genera no contiene los datos, sino
instrucciones SQL que generan las tablas y les insertan los datos, por lo que
también nos sirve para migrar las bases de datos de MySQL a otro gestor. Se
puede ejecutar de forma local y remota, y los ficheros quedan en el servidor.

Ejemplos de realización de copias de seguridad:

mysqldump -u root -p world > world.sql
mysqldump -u root -p world Country City > pais_i_ciutat.sql
mysqldump -u root -p –xml world > world.xml
mysqldump -u root -p –tab=/tmp world
mysqldump -u root -p –all-databases > backup.sql
mysqldump -u root -p –opt world | mysql -h 192.168.0.110 -u root -pcontraseña mundo
mysqldump -u root -p –no-data world | mysql -h 192.168.0.110 -u root -pcontraseña mundo

Ejemplos de restauración de las copias:

mysql world -u root -p < world.sql

* Cuarto método: las sentencias SQL ‘BACKUP TABLE’ y ‘RESTORE TABLE’, que no
explicaré porque han quedado obsoletas.

* Para restaurar los cambios en la base de datos que se produjeron después de
la copia de seguridad debemos obtener dichos cambios de los ficheros de “logs”:

– Miramos cuales son posteriores a la fecha de la copia de seguridad:

ls -l /var/log/mysql


-rw-rw—- 1 mysql adm 11949 2007-02-04 09:23 mysql-bin.000102
-rw-rw—- 1 mysql adm 117 2007-02-04 13:46 mysql-bin.000103
-rw-rw—- 1 mysql adm 11906 2007-02-04 13:48 mysql-bin.000104

– Si queremos asegurarnos comprobando su contenido:

mysqlbinlog /var/log/mysql/mysql-bin.000102 | less

– Los restauramos ordenadamente:

mysqlbinlog /var/log/mysql/mysql-bin.000102 | mysql -u root -p
mysqlbinlog /var/log/mysql/mysql-bin.000103 | mysql -u root -p
mysqlbinlog /var/log/mysql/mysql-bin.000104 | mysql -u root -p

* Relacionado con el tema de las copias de seguridad, podemos comprimir las
tablas MyISAM que ya no se actualizan para que ocupen mucho menos espacio.
Comprimidas con la utilidad ‘myisampack’ todavía se pueden consultar aunque
no se pueden actualizar hasta que se descomprimen de nuevo con ‘myisamchk’.

myisampack /var/lib/mysql/world/City.MYI
myisamchk –recover –quick /var/lib/mysql/world/City.MYI

Para descomprimirlas:

myisamchk –unpack /var/lib/mysql/world/City.MYI

Para consultar si estaban comprimidas:

shell> mysql world -u root -p -e “SHOW TABLE STATUS LIKE ‘City'”

* Lecturas para profundizar:
– http://dev.mysql.com/doc/refman/5.0/es/disaster-prevention.html
– http://dev.mysql.com/doc/refman/5.0/es/mysqlhotcopy.html
– http://dev.mysql.com/doc/refman/5.0/es/mysqldump.html
– http://dev.mysql.com/doc/refman/5.0/es/mysqlbinlog.html
– http://dev.mysql.com/doc/refman/5.0/es/myisampack.html

Nuevo servicio de imágenes Twitter Twitter ha anunciado cambios en su plataforma con la inclusión de diferentes mejoras relacionadas con fotos y vídeos que mejorarán las posibilidades...
¿ Que es jQuery ? jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, ...
Windows XP es más usado que Windows 8.1 En abril del 2014 Microsoft dejó de brindar actualizaciones de seguridad para el descontinuado Windows XP. Sin embargo, a pesar de aquella acción, est...
El RSS transformará tu vida como internauta Saludos, Aqui les dejo esta lectura recomendada que encontre sobre el RSS ¿Conocés la utilidad del RSS? Un profesor de la Universidad de Puerto Ric...
Google Good to Know Good to Know es un portal web que Google ha creado con la intención de incluir en él información y consejos acerca de varios apartados que afectan a l...
Cómo se usa el RSS Podemos usar el formato RSS en dos sentidos diferentes: Para recibir información desde otros sitios Web Para ofrecer información desde nuestra p...
Pinterest ahora en Latinoamérica Pinterest, la red social de imágenes que ha causado furor en el último tiempo en la red, está entrando a Latinoamérica, según declara una cuenta de Tw...
Send Mail To Specified Email (VQMod) Opencart Module This Mod Requires VQMod To Work This modification allows you to send mail to specified email addresses through the administration panel. This modific...
Protocolo de un proyecto de minería de datos Un proyecto de minería de datos tiene varias fases necesarias que son, esencialmente: Comprensión del negocio y del problema que se quiere resolve...
Diseño de Impresos y Publicitario Diseñamos cualquier tipo de folleto publicitario que desee, tarjetas de presentación, flyers, tripticos, brochures, aquí una muestra de nuestros dise...
REALIZAR Y RESTAURAR COPIAS DE SEGURIDAD EN MYSQL
Tagged on: