Renommer une base de données MySQL peut être une tâche fastidieuse, en particulier pour les grandes bases de données. La méthode conventionnelle de vidage, puis de réimportation des données peut mettre à rude épreuve votre système, ce qui a un impact sur les performances.
Pour renommer une base de données InnoDB, considérez ce qui suit approche :
Renommer les tables de la base de données : Transférez chaque table individuellement de l'ancienne base de données vers la nouvelle base de données à l'aide de la commande :
RENAME TABLE old_db.table TO new_db.table;
Pour automatiser le processus dans un script shell, vous pouvez exécuter l'une des commandes suivantes :
Utiliser un certain temps Boucle :
mysql -u username -ppassword old_db -sNe 'show tables' | while read table; \ do mysql -u username -ppassword -sNe "rename table old_db.$table to new_db.$table"; done
Utilisation d'une boucle for :
for table in `mysql -u root -ppassword -s -N -e "use old_db;show tables from old_db;"`; do mysql -u root -ppassword -s -N -e "use old_db;rename table old_db.$table to new_db.$table;"; done;
Déclencheurs : Les tables avec des déclencheurs ne peuvent pas être déplacées entre les bases de données en utilisant cette méthode.
Procédures stockées : Si vous avez des procédures stockées, n'oubliez pas de les copier ensuite en utilisant :
mysqldump -R old_db | mysql new_db
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!