MySQL5.6相比5.5的新特性之GTID

相比於5.5,5.6的新特性很多,其中複製的新特性中支持GTID複製。

個人毫不留情地覺得應該複製調整爲基於GTID的複製。

因爲其提供了複製更多的靈活性。

詳見:http://blog.csdn.net/q3dxdx/article/details/50953289


另外,slave庫在接收到gtid時,要同本地的gtid_executed和gtid_purged對比。

如果發現該gtid以及被executed或者被purged,那麼會跳過該gtid對應的event。

所以我們在基於gtid複製環境中添加slave庫時,在配置複製master(CHANGE MASTER TO)之前,一定要手工設置gtid_purged。

而在設置gtid_purged之前,gtid_executed必須爲空。

所以在設置gtid_purged之前,必須執行reset master,讓binlog重置(也就是置空了gtid_executed)。

這樣才能讓slave庫知道自己已經“執行”了哪些gtid。


也可以在啓動gtid的數據庫上使用mysqldump全庫導出時,加上(默認也加上)--set-gtid-purged=auto參數。

該參數會讓導出文件裏註明gtid_purged值,類如:

SET @@GLOBAL.GTID_PURGED='e2e2f927-e75c-11e5-ac89-5c260a17ccde:1-16941';

這個gtid-sets就是導出庫導出時的gtid_executed值。

這會讓新的slave庫知道自己應該跳過哪些gtid。

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