Copiar una base de datos a otra en MySql



Igual que en postgreSQL en MySql también podemos copiar una base de datos a otra, pero el proceso es un "pelin" mas complejo.

Suscríbete a nuestra newsletter

Sin spam. Solo contenido útil para profesionales de bases de datos.



Hay que utilizar el comando

mysqldbcopy


En linux hay que instalar las utilidades de mysql

sudo apt install mysql-utilities


Y ejecutar el comando

mysqldbcopy --source=user:pass@host:port:socket --destination=user:pass@host:port:socket orig_db:new_db

<
En mi caso seria así:

mysqldbcopy --source=user:password@localhost:3306 --destination=user:password@localhost:3306 depruebas:depruebas2


Aquí tenéis la documentación del comando https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqldbcopy.html

En windows también hay que instalar las mysql-utilities desde esta url las bajamos:

https://dev.mysql.com/downloads/utilities/

Vamos al directorio de instalación: C:\Program Files\MySQL\MySQL Utilities 1.6> y desde aquí ejecutamos en el terminal la misma instrucción que en Linux:

mysqldbcopy --source=user:password@localhost:3306 --destination=user:password@localhost:3306 depruebas:depruebas3


Este comando tiene sus limitaciones, mirar la ayuda, yo prefiero hacer un mysqldump de los datos y volcarlo en un nueva base de datos.

Y esto es todo, feliz programming!!
Saludos
Alex.