web-dev-qa-db-fra.com

Cloner la base de données MySQL

J'ai une base de données sur un serveur avec 120 tables.

Je veux cloner toute la base de données avec un nouveau nom de base de données et les données copiées.

Existe-t-il un moyen efficace de procéder?

47
Vinod HC
$ mysqldump yourFirstDatabase -u user -ppassword > yourDatabase.sql
$ mysql yourSecondDatabase -u user -ppassword < yourDatabase.sql
96
user647772
mysqldump -u <user> --password=<password> <DATABASE_NAME> | mysql -u <user> --password=<password> -h <hostname> <DATABASE_NAME_NEW>
29
Kai Sternad

Comme la réponse acceptée mais sans les fichiers .sql:

mysqldump sourcedb -u <USERNAME> -p<PASS> | mysql destdb -u <USERNAME> -p<PASS>
11
user570605

Si vous utilisez phpMyAdmin

  1. Sélectionnez la base de données que vous souhaitez copier (en cliquant sur la base de données depuis l'écran d'accueil de phpMyAdmin).
  2. Une fois dans la base de données, sélectionnez l'onglet Opérations.
  3. Faites défiler jusqu'à la section où il est dit "Copier la base de données vers:"
  4. Tapez le nom de la nouvelle base de données.
  5. Sélectionnez "structure et données" pour tout copier. Alternativement, vous pouvez sélectionner "Structure uniquement" si vous voulez les colonnes mais pas les données.
  6. Cochez la case "CRÉER LA BASE DE DONNÉES avant de copier" pour créer une nouvelle base de données.
  7. Cochez la case "Ajouter une valeur AUTO_INCREMENT".
  8. Cliquez sur le bouton Aller pour continuer.
5
akos

Il y a l'outil mysqldbcopy du paquet MySQL Utilities. http://dev.mysql.com/doc/mysql-utilities/1.3/en/mysqldbcopy.html

3
Alexey F