MySQL資料庫重新命名的方法
【前言】由於業務的需求需要對其中的一個資料庫進行備份,然後再匯入一個全新的資料庫;通過衡量發現直接修改當前資料庫名稱的方式進行備份是最快最省事的方法。本文檔總結了對MySQL資料庫重新命名的一些方法;
【環境說明】
資料庫版本:MySQL 5.5.36
資料庫儲存引擎:INNODB
資料表空間儲存方式:獨立資料表空間
【操作方法】
方法一:直接對資料庫進行重新命名(經測試該方法在5.5版本中不可用)
指令碼:RENAME DATABASE db_name TO new_db_name
方法二:通過mysqldump進行資料庫的備份再匯入(當資料庫較大的時候,這種方法耗時耗力)
方法三:重新命名資料庫裡面的所有表,
information_schema資料庫table表記錄了資料庫中所有表的資訊;
1、CREATE DATABASE new_db_name; 建立新的資料庫
2、RENAME TABLE db_name.table1 TO new_db_name.table1; 對所有的表進行重新命名
3、DROP DATABASE db_name; 刪除原來的資料庫
當資料庫表包含表很多的情況下,這樣操作是比較效率也比較低,可以通過以下指令碼進行批量修改;
mysql -uroot -p -e "select concat('rename table db.',table_name,' to new_db.',table_name,';') from information_schema.TABLES where TABLE_SCHEMA='db';" > rename_mysql_name.sql
執行sql語句
mysql -uroot -p < rename_mysql_name.sql 批量進行修改;
總結:以上幾種的操作方法,其中第二種的方法是最保險的,這也是很多公司進行小Database Backup還原的一種方式。
第三種方法雖然速度較快但是風險也相對較大,會導致一些視圖不能用,因為視圖的名稱雖然變了,但是視圖裡面引用的表還是原來資料庫的表,所以用這種方式進行遷移的時候就需要檢查資料庫檢視的情況;
本文永久更新連結地址: