一、拉取MySQL鏡像
通過終端擷取最新的MySQL鏡像
二、建立MySQL資料庫容器配置檔案對應目錄
我們在目前使用者下建立一組目錄,用來存放MySQL容器配置檔案,(Linux下可以省略此步驟)參考下圖:

注意:MySQL8版本以後,需要在映射檔案中加入 mysql-files,否則MySQL資料庫容器會建立失敗。
因為在MacOS下不支援vi/vim 直接修改my.cnf檔案,也不支援apt-get安裝vim,是以需要在本地建立兩個my.cnf映射檔案。(Linux下可以通過vim直接修改配置檔案)
master主庫對應的my.cnf配置檔案為:
slave從庫對應的my.cnf配置檔案為:
三、建立兩個MySQL資料庫容器
建立master主資料庫容器
建立slave從資料庫容器
如下圖,說明兩個MySQL容器建立成功
此時我們打開Docker儀表闆可以看到,兩個容器已經運作起來了。而且端口就是我們之前建立的對應端口
我們通過Navicat連接配接會報哦1130錯誤,是因為所連接配接的使用者賬戶沒有遠端連接配接的權限。需要更改mysql資料庫裡的user表裡的host項
把localhost改成%
具體步驟:
四、主從資料庫配置
master主資料庫配置:
mster的狀态,File mysql-bin.000003 Position 661
slave從資料庫配置:
啟動從庫同步成功
五、主從驗證
我們在master上建立一個資料庫,然後建立一張表,再插入一條資料,相應的slave也會增加;
在執行指令之前,主從資料庫數量相同;
master執行指令之後slave增加對應資料
可以發現主庫新增的資料已經同步過來了,MySQL的主從複制就設定完成了。(測試環境,MacOS M1 ARM64機器,Docker,MySQL 8.0.27)