ホームページ >データベース >mysql チュートリアル >パフォーマンスの問題を発生させずに MySQL データベースの名前を効率的に変更するにはどうすればよいですか?
MySQL データベースの名前変更は、特に大規模なデータベースの場合、面倒な作業になる可能性があります。データをダンプしてから再インポートする従来の方法では、システムに負担がかかり、パフォーマンスに影響を与える可能性があります。
InnoDB データベースの名前を変更するには、次の点を考慮してください。アプローチ:
データベース テーブルの名前変更: コマンドを使用して、古いデータベースから新しいデータベースに各テーブルを個別に転送します:
RENAME TABLE old_db.table TO new_db.table;
シェル スクリプトでプロセスを自動化するには、次のコマンドのいずれかを実行できます:
しばらく使用するループ:
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
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;
トリガー: この方法を使用して、トリガーのあるテーブルをデータベース間で移動することはできません。
ストアド プロシージャ: ストアド プロシージャがある場合は、次のことを忘れないでください。後で、
mysqldump -R old_db | mysql new_dbを使用してコピーします。
以上がパフォーマンスの問題を発生させずに MySQL データベースの名前を効率的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。