GTID環境下mysqldump set-gtid-purged取值

guocun09發表於2020-12-17

$ mysqldump --help | grep 'set-gtid-purged' -A 10

  --set-gtid-purged[=name] Add 'SET @@GLOBAL.GTID_PURGED' to the output. Possible values for this option are ON, OFF and AUTO. If ON is used and GTIDs are not enabled on the server, an error is generated. If OFF is used, this option does nothing. If AUTO is used and GTIDs are enabled on the server, 'SET @@GLOBAL.GTID_PURGED' is added to the output. If GTIDs are disabled, AUTO does nothing. If no value is supplied then the default (AUTO) value will be considered.

從命令提供的註釋中可以看出,其實該引數有3種取值:

控制是否在備份檔案中新增SET @@GLOBAL.GTID_PURGED語句。

1. set-gtid-purged=0|off 不新增

2. set-gtid-purged=1|on 如果gtid沒有開啟,則報錯;如果開啟gtid,則新增。

3. 如果沒有提供set-gtid-purged,預設是auto,如果gtid沒有開啟,不新增;如果開啟gtid,則新增。


如果 set-gtid-purged=1 在mysqldump檔案中會有兩條

SET @@SESSION.SQL_LOG_BIN= 0;

SET @@GLOBAL.GTID_PURGED='85e07268-dfa5-12e7-b0bc-080027a59108:1-2';


這樣匯入時可能造成主備不一致情況。
所以,對GTID使用mysqldump 要注意 set-gtid-purged的指定


出自:

https://www.cnblogs.com/yiyuf/p/4673714.html

https://www.cnblogs.com/imdba/p/10120752.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2743196/,如需轉載,請註明出處,否則將追究法律責任。

相關文章