Copier une base de données MySQL sur la même instance sans dumping
La copie d'une base de données sur la même instance MySQL peut être effectuée sans avoir à créer un script SQL intermédiaire. Les méthodes suivantes offrent des alternatives plus simples au processus traditionnel de dump-and-import.
Piping direct des données
Le manuel MySQL décrit une méthode qui permet de rediriger la sortie de mysqldump directement dans le client mysql :
mysqldump --routines --triggers db_name | mysql new_db_name
Cette commande crée une copie de la base de données db_name avec le nom new_db_name. Il comprend à la fois des données et des objets de base de données tels que des routines et des déclencheurs.
Copie de fichiers MyISAM
Pour les bases de données utilisant le moteur de stockage MyISAM, la copie directe des fichiers de données est techniquement possible mais pas recommandé. Les fichiers devront peut-être être renommés et la base de données peut nécessiter une réparation manuelle par la suite.
Utilisation des détails de connexion
Les commandes mysqldump et mysql peuvent accepter diverses options de configuration de la connexion détails, y compris le nom d'utilisateur et le mot de passe :
mysqldump -u username --password=password original_db | mysql -u username -p new_db
Cette commande copie la base de données original_db dans une nouvelle base de données appelée new_db, en utilisant les informations d'identification spécifiées.
Création d'une nouvelle base de données
Si la nouvelle base de données n'existe pas encore, elle doit être créée avant d'utiliser la méthode piping. Cela peut être fait avec la commande suivante :
echo "create database new_db_name" | mysql -u username -p
En suivant ces méthodes, vous pouvez créer efficacement une copie de votre base de données MySQL sur la même instance sans avoir besoin d'un fichier de dump intermédiaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!