Maison > base de données > tutoriel mysql > Comment renommer efficacement une base de données MySQL et ses tables ?

Comment renommer efficacement une base de données MySQL et ses tables ?

Patricia Arquette
Libérer: 2024-12-21 04:51:09
original
442 Les gens l'ont consulté

How to Efficiently Rename a MySQL Database and its Tables?

Renommer les bases de données MySQL : une approche globale

Renommer une base de données MySQL, également appelé changement du nom du schéma, peut présenter des défis, en particulier pour grandes bases de données ou celles utilisant le moteur de stockage InnoDB. Nous examinons ici une méthode efficace qui répond à ces complexités.

Renommer les tables InnoDB

Pour les tables InnoDB, l'approche suivante s'est avérée efficace :

  1. Créez une nouvelle base de données vide avec le nom souhaité.
  2. Renommez séquentiellement chaque table de l'ancienne base de données vers la nouvelle base de données à l'aide de la commande suivante :
RENAME TABLE old_db.table TO new_db.table;
Copier après la connexion

Ajustement des autorisations

Après avoir renommé les tables, vous devrez peut-être ajuster les autorisations pour garantir accès approprié.

Automatisation du processus

Pour un accès efficace Pour renommer dans un script shell, vous pouvez utiliser l'une des commandes suivantes :

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

Considérations supplémentaires

  • Les déclencheurs doivent être supprimés avant de renommer les tables avec des déclencheurs.
  • Les procédures stockées peuvent ensuite être copiées en utilisant mysqldump -R vieux_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