前言
嘿,我前面還有一篇master的知識呢,請點擊我來閱讀😄
以及前面還有一篇slave的知識呢,請點擊我來閱讀😄
11. 相關補充
11.1 主從複製的模式(三種)
binlog
三種模式
STATEMENT
模式每修改一條sql就會記錄到binlog中。
優點: 僅僅記錄了SQL,不會記錄執行結果,減少了binlog日誌量,節約了IO,提高性能
缺點: 會出現結果不一致情況。如select now()ROW
模式每條記錄的修改都會被記錄。
優點: 不存在數據不一致情況
缺點: 一旦修改alter table會出現binlog暴漲。MIXED
模式以上兩種模式混合使用。一般的複製使用
STATEMENT
模式保存binlog。
11.2 採用MIXED
模式
# 修改master的配置文件
vim /usr/local/docker/mysql/matser01/conf/mysql.cnf
##輸入下面內容
[mysqld]
server-id = 1
log-bin=mysql-bin
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
binlog_format=MIXED #設置模式爲 MIXED
docker-composer restart
重新啓動master數據庫