Maison > base de données > tutoriel mysql > Comment puis-je renommer efficacement une base de données MySQL InnoDB ?

Comment puis-je renommer efficacement une base de données MySQL InnoDB ?

Mary-Kate Olsen
Libérer: 2024-12-23 17:34:11
original
429 Les gens l'ont consulté

How Can I Efficiently Rename a MySQL InnoDB Database?

Renommer une base de données MySQL : une solution efficace pour InnoDB

Renommer une base de données MySQL peut être une tâche ardue, en particulier pour les grandes bases de données et celles en utilisant InnoDB, qui stocke les données différemment de MyISAM. Cependant, avec la bonne approche, cela peut être fait efficacement.

Pour renommer une base de données InnoDB, nous devons créer une nouvelle base de données vide, puis y déplacer chaque table individuellement :

RENAME TABLE old_db.table TO new_db.table;
Copier après la connexion

Il est important d'ajuster les autorisations de la base de données après la migration de la table.

Pour les scripts dans un shell, vous pouvez utiliser l'un des éléments suivants commandes :

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
Copier après la connexion

ou

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;
Copier après la connexion

Remarques :

  • Ne laissez pas d'espace entre l'option -p et le mot de passe.
  • Si la base de données n'a pas de mot de passe, supprimez le -u username -ppassword part.
  • Si une table contient un déclencheur, elle ne peut pas être déplacée en utilisant la méthode ci-dessus. Dans de tels cas, utilisez la technique traditionnelle de clonage de base de données : mysqldump old_db | mysql new_db.
  • Les procédures stockées peuvent être copiées après le changement de nom de la base de données : 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal