Acabo de terminar la migración del servidor MySQL a su versión más actual. Fue un proceso lento y complicado pero parece que salió muy bien.
Aquí algunos comandos que te pueden ser de utilidad al realizar respaldos de tus datos en MySQL. Observa como utilizo la opción –single-transaction para que no utilice toda la memoria disponible; es decir, que vaya tabla x tabla. Es un poco más lento, pero mucho más seguro.
[powershell]
//Comando para hacer un respaldo de todas las bases de datos
mysqldump.exe -u root -p –all-databases –single-transaction –quick > c:\bk\21-OCT-2010.sql
//Respaldo de solo las tablas db y user de la base de datos mysql
mysqldump.exe -u root -p mysql db user –single-transaction –quick > c:\bk\mysql.db-mysql.user-21-OCT-2010.sql
[/powershell]
Nota: Si quieres regresar este script que tiene todas las bases de datos en una instalación de MySQl diferente (digamos, si estas haciendo un upgrade); edita este archivo y borra la parte donde crea la BD mysql.
Es el bloque que empiza con:
[powershell]
—
— Current Database: `mysql`
—
[/powershell]
Hasta el siguiente bloque similar pero con otra BD.
Nota: Para restaurar sola la tabla de usuarios y permisos, agrega la instrucción justo después del comentario Table structure for table `db` casi al principio del archivo:
[powershell]
—
— Table structure for table `db`
—
USE `mysql`;
[/powershell]
Y si quieres restaurar, aquí estos comandos:
[powershell]
//Restaurar todas las bases de datos desde un archivo .sql
mysql -u root -p < c:\bk\21-OCT-2010.sql
//Restaurar solo las tablas que contiene el archivo .sql dentro de la base de datos mysql
mysql -u root -p mysql < c:\bk\mysql.db-mysql.user-21-OCT-2010.sql
[/powershell]
Estaremos monitoreando su desempeño por si hace falta algún tunning por ahí.
Para saber la vesión actual de MySQL. En una ventana de query ejecutamos esto:
[powershell]
SHOW VARIABLES LIKE "%version%";
[/powershell]
Saludos