mysql備份表的兩種方法(數據遷移)

mysql備份的兩種方法(傳輸方式:單表傳輸),在數據量小的情況下一般採用insert的方法向備份表中插入數據。當源表的數據量過大時使用表空間的方式進行數據的遷移。

第一種方法:(針對表中數據量小的情況)

(1)使用源表的表結構建新的備份表;(源表爲t1,備份表爲t1_copy)

create table t1_copy like t1;

(2)插入數據到備份表中。

insert into t1_copy (select * from t1);

第二種方法:(通過表空間傳輸的方式對錶進行備份,針對表數據量大的情況)

(1)創建備份(目標)表(方法如第一種方法(1))

(2)目標數據表,丟棄表空間;

ALTER TABLE t1 DISCARD TABLESPACE;

(3)源數據錶停頓鎖表;

FLUSH TABLES t1 FOR EXPORT ;

(4)複製.cfg和.ibd文件到目標數據庫

show  global variables like '%datadir%';

找到mysql庫數據的存放位置

在linux服務器中輸入命令

cp t1.cfg t1_copy(備份表名).cfg
cp t1.ibd t1_copy(備份表名).ibd

(5)源數據表解鎖

unlock tables;

(6)給文件權限linux

chown mysql:mysql t1*.ibd

(7)同步數據到目標表

alter table t1 import tablespace;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章