首頁 >資料庫 >mysql教程 >如何有效率地重命名MySQL InnoDB資料庫?

如何有效率地重命名MySQL InnoDB資料庫?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-23 17:34:11431瀏覽

How Can I Efficiently Rename a MySQL InnoDB Database?

重新命名MySQL 資料庫:InnoDB 的有效解決方案

重新命名MySQL 資料庫可能是一項艱鉅的任務,特別是對於大型資料庫和那些使用InnoDB,它儲存資料的方式與MyISAM 不同。但是,透過正確的方法,可以有效率地完成此操作。

要重新命名 InnoDB 資料庫,我們需要建立一個新的空資料庫,然後將每個表單獨移入其中:

RENAME TABLE old_db.table TO new_db.table;

表遷移後調整資料庫權限非常重要。

對於shell 中的腳本編寫,您可以使用以下其中一個指令:

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 選項和-p 選項之間不要留空格密碼。 如果資料庫沒有密碼,去掉 -u 使用者名稱 -ppassword 如果表包含觸發器,則無法使用上述方法移動它。在這種情況下,請使用傳統的資料庫複製技術:mysqldump old_db | mysql new_db.資料庫重新命名後可以複製預存程序:mysqldump -R old_db | mysql new_db.

以上是如何有效率地重命名MySQL InnoDB資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn