244 votes

MySQL : Clonage d'une base de données MySQL sur la même instance MySql

J'aimerais écrire un script qui copie ma base de données actuelle sitedb1 sitedb2 sur la même instance de base de données mysql. Je sais que je peux jeter le sitedb1 dans un script sql :

mysqldump -u root -p sitedb1 >~/db_name.sql

puis importez-le dans sitedb2. Existe-t-il un moyen plus simple, sans vider la première base de données dans un fichier sql ?

37voto

Naseer-shaik Points 819

Le meilleur moyen et le plus simple est d'entrer ces commandes dans votre terminal et de définir les autorisations à l'utilisateur racine. Fonctionne pour moi.. !

:~$> mysqldump -u root -p db1 > dump.sql
:~$> mysqladmin -u root -p create db2
:~$> mysql -u root -p db2 < dump.sql

20voto

Peru Points 46
mysqladmin create DB_name -u DB_user --password=DB_pass && \
        mysqldump -u DB_user --password=DB_pass DB_name | \
        mysql     -u DB_user --password=DB_pass -h DB_host DB_name

14voto

Srikanth Gurram Points 954

Vous devez exécuter la commande à partir du terminal /invite de commande.

mysqldump -u <user name> -p <pwd> <original db> | mysql -u <user name> <pwd> <new db>

par exemple : mysqldump -u root test_db1 | mysql -u root test_db2

Ceci copie test_db1 vers test_db2 et accorde l'accès à 'root'@'localhost'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X