天天看點

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   批量進行修改;

總結:以上幾種的操作方法,其中第二種的方法是最保險的,這也是很多公司進行小資料庫備份還原的一種方式。

第三種方法雖然速度較快但是風險也相對較大,會導緻一些視圖不能用,因為視圖的名稱雖然變了,但是視圖裡面引用的表還是原來資料庫的表,是以用這種方式進行遷移的時候就需要檢查資料庫視圖的情況;