Ahora lo que vamos hacer es un backup de todo el MySql exceptuando bases de datos que no queramos copiar.
Para realizar esto ejecutamos este comando:
mysql -u root -pmysql -e "show databases" | grep -v -F mysql | grep -v -F performance_schema | grep -v -F test | grep -v -F information_schema | grep -v -F Database | xargs mysqldump -u root -pmysql --databases > all_databases.sql
También podemos ponerlo de esta forma sin escribir el | ni el comando grep y utilizando -v -e:
mysql -u root -pmysql -e "show databases" | grep -v -e mysql -v -e performance_schema -v -e test -v -e information_schema -v -e Database | xargs mysqldump -u root -pmysql --databases > all_databases.sql
Este comando es muy largo y hace muchas cosas, vamos a explicarlo un poco:
La primera parte de este comando, hasta xargs muestra el listado de bases de datos del que se hará el backup, la segunda parte del comando, lo que hace xargs es coger por cada base de datos listada le hace un backup y lo pone en el fichero all_databases.sql
Listar todas las bases de datos de MySql
mysql -u root -pmysql -e "show databases"
Filtra las bases de datos que no queremos mostrar
grep -v -e mysql -v -e performance_schema ...
xargs dice que por cada linea de la primera sentencia ejecute lo que viene detrás el mysqldump
hace un backup de todas las bases de datos.
mysqldump -u root -pmysql --databases > all_databases.sql
Y esto es todo, feliz programming!!!
Saludos
Alex.
/
También puede interesarte:
Error en MySql - The user specified as a definer USER does not exist when using LOCK TABLES |