為了在開啟gtid複製的資料庫中順利匯入匯出備份檔案
匯出
顯示地新增--set-gtid-purged=off引數
備份檔案中將不包括gtid資訊。
mysqldump -uroot -p --set-gtid-purged=off testdb > testdb.sql
為防止以下警告,也為順利匯入:
warning: a partial
dump
from a server that has gtids will by
default include the
gtids of
alltransactions
, even those that changed suppressed parts of
the database
.if you don't want to
restore gtids, pass --set-gtid-purged=off.
to make a complete dump
, pass --all-databases --triggers --routines --events
在不新增引數的匯出檔案
新增引數之後的檔案
匯入
匯入的時候也分兩種, 一種是匯入帶有 gtid 的資訊的庫, 一種是匯入不帶有 gtid 資訊的庫
不帶有 gtid 資訊
不帶有 gtid 資訊的 dump 檔案, 不管目標資料庫例項是否開啟了 gtid 功能, 且不管資料庫例項是否已有其他 gtid 資訊, 都可以順利匯入
帶有 gtid 資訊
帶有 gtid 資訊的 dump 檔案, 要求目標資料庫例項必須開啟 gtid 功能, 且當前資料庫中無其他 gtid 資訊. 如果目標資料庫中已經記錄了一條或一條以上的 gtid 資訊, 那麼在匯入資料庫時會報出類似如下的錯誤
error 1840 (hy000) at line 24: @@global.gtid_purged can only be set when @@global.gtid_executed is empty 當前gtid_executed引數已經有值,而從集群倒出來的dump檔案中包含了set @@global.gtid_purged的操作
方法一:vim testdb.sql 備份檔案
(記錄下圖的set資訊,然後刪除set值,重新恢復單庫)
(注意備份檔案的大小,越大開啟的越慢)
方法二:reset master
這個操作可以將當前庫的gtid_executed值置空
方法三:–set-gtid-purged=off
在dump匯出時,新增–set-gtid-purged=off引數,避免將gtid資訊匯出
關於匯出引數–opt
1、--opt 在建立表結構之前 會有 drop table if exists
2、原表在建立的時候指定了auto_increment,在使用了--opt 仍然和建表時候一樣存在引數,
在使用引數--skip-opt的時候,忽略了此引數auto_increment,
3 在使用引數--opt的時候,建立表的型別,
字符集等等都是預設引數engine=innodb auto_increment=4 default charset=utf8;,
當使用了--skip-opt的時候,這些引數都給忽略了
4匯出原表中的資料,--opt是乙個insert多個value,在使用了--skip-opt的時候,是多個insert組成的;
mongo備份恢復(單機和複製集)
邏輯匯出,可以作做跨版本和公升級匯出 mongoexport uroot p port 27021 d test c t1 authenticationdatabase admin o service t1.json 匯出csv 格式 f 後跟列名 j 開啟併發匯入 mongoexport uroo...
備份 恢復和複製SQLite資料庫
可使用backup restore和clone命令備份 恢復和複製sqlite資料庫。例如 1 備份資料庫 通過在命令列視窗下執行sqlite3.exe以重新建立和sqlite的連線。sqlite3test.db sqlite backup c test.db sqlite exit 2 恢復資料庫...
Ubuntu如何備份和恢復系統
在 使用ubuntu之前,相信很多人都有過使用windows系統的經歷。如果你備份過windows系統,那麼你一定記憶猶新 首先需要找到乙個備份工 具 通常都是私有軟體 然後重啟電腦進入備份工具提供的軟體環境,在這裡備份或者恢復windows系統。norton ghost是備份windows系統時經...