ホームページ >データベース >mysql チュートリアル >MySQL InnoDB データベースの名前を効率的に変更するにはどうすればよいですか?

MySQL InnoDB データベースの名前を効率的に変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-23 17:34:11398ブラウズ

How Can I Efficiently Rename a MySQL InnoDB Database?

MySQL データベースの名前変更: InnoDB の効率的なソリューション

MySQL データベースの名前変更は、特に大規模なデータベースやMyISAM とは異なる方法でデータを保存する InnoDB を利用します。ただし、適切なアプローチを使用すれば、効率的に行うことができます。

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 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;

注:

  • -p オプションと
  • データベースにパスワードがない場合は、-u username -ppassword を削除します。 part.
  • テーブルにトリガーが含まれている場合、上記の方法ではテーブルを移動できません。このような場合は、従来のデータベース クローン作成手法を使用します。 mysql new_db.
  • ストアド プロシージャは、データベース名の変更後にコピーできます。 mysql new_db.

以上がMySQL InnoDB データベースの名前を効率的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。