快速將InnoDB表復制到另一個實例

此過程演示如何將常規(guī)InnoDB表從正在運行的MySQL服務器實例復制 到另一個正在運行的實例??梢允褂镁哂形⑿≌{整的相同過程在同一實例上執(zhí)行完整表還原。

為灣里等地區(qū)用戶提供了全套網頁設計制作服務,及灣里網站建設行業(yè)解決方案。主營業(yè)務為成都網站設計、網站制作、灣里網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

在源實例上,創(chuàng)建一個表(如果不存在):

mysql> USE test;
mysql> CREATE TABLE t(c1 INT) ENGINE=InnoDB;

在目標實例上,創(chuàng)建一個表(如果不存在):

mysql> USE test;
mysql> CREATE TABLE t(c1 INT) ENGINE=InnoDB;

在目標實例上,放棄現(xiàn)有表空間。(在導入表空間之前, InnoDB必須丟棄附加到接收表的表空間。)

mysql> ALTER TABLE t DISCARD TABLESPACE;

在源實例上,運行 FLUSH TABLES ... FOR EXPORT以停頓表并創(chuàng)建.cfg元數(shù)據(jù)文件:

mysql> USE test;
mysql> FLUSH TABLES t FOR EXPORT;

metadata(.cfg)在InnoDB數(shù)據(jù)目錄中創(chuàng)建 。
注意
該 FLUSH TABLES ... FOR EXPORT語句確保已將對指定表的更改刷新到磁盤,以便在實例運行時可以創(chuàng)建二進制表副本。當 FLUSH TABLES ... FOR EXPORT運行時, InnoDB產生了 .cfg在同一個數(shù)據(jù)庫的目錄表文件。該.cfg文件包含導入表空間文件時用于模式驗證的元數(shù)據(jù)。

將.ibd文件和 .cfg元數(shù)據(jù)文件從源實例復制到目標實例。例如:

shell> scp /path/to/datadir/test/t.{ibd,cfg} destination-server:/path/to/datadir/test

注意
的.ibd文件和 .cfg文件必須釋放共享鎖之前如在下一步中所述被復制。

在源實例上,用于 UNLOCK TABLES釋放通過FLUSH TABLES ... FOR EXPORT以下方式獲取的鎖 :

mysql> USE test;
mysql> UNLOCK TABLES;

在目標實例上,導入表空間:

mysql> USE test;
mysql> ALTER TABLE t IMPORT TABLESPACE;

注意
該ALTER TABLE ... IMPORT TABLESPACE功能不會對導入的數(shù)據(jù)強制執(zhí)行外鍵約束。如果表之間存在外鍵約束,則應在相同(邏輯)時間點導出所有表。在這種情況下,您將停止更新表,提交所有事務,獲取表上的共享鎖,然后執(zhí)行導出操作。

注意:命令 ALTER TABLE t DISCARD TABLESPACE 會刪除數(shù)據(jù)文件,誤操作將嚴重的后果

參考文檔:可傳輸表空間示例

本文題目:快速將InnoDB表復制到另一個實例
網站地址:http://muchs.cn/article8/jcjsop.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網站建設、網站內鏈域名注冊、企業(yè)建站、手機網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化