天天看點

MacOS使用Docker建立MySQL主從資料庫

一、拉取MySQL鏡像

通過終端擷取最新的MySQL鏡像

二、建立MySQL資料庫容器配置檔案對應目錄

我們在目前使用者下建立一組目錄,用來存放MySQL容器配置檔案,(Linux下可以省略此步驟)參考下圖:

MacOS使用Docker建立MySQL主從資料庫

 注意: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容器建立成功

MacOS使用Docker建立MySQL主從資料庫

此時我們打開Docker儀表闆可以看到,兩個容器已經運作起來了。而且端口就是我們之前建立的對應端口

MacOS使用Docker建立MySQL主從資料庫

我們通過Navicat連接配接會報哦1130錯誤,是因為所連接配接的使用者賬戶沒有遠端連接配接的權限。需要更改mysql資料庫裡的user表裡的host項

把localhost改成%

具體步驟:

四、主從資料庫配置

master主資料庫配置:

mster的狀态,File mysql-bin.000003  Position 661

MacOS使用Docker建立MySQL主從資料庫

slave從資料庫配置:

啟動從庫同步成功

MacOS使用Docker建立MySQL主從資料庫
五、主從驗證

我們在master上建立一個資料庫,然後建立一張表,再插入一條資料,相應的slave也會增加;

在執行指令之前,主從資料庫數量相同;

MacOS使用Docker建立MySQL主從資料庫

master執行指令之後slave增加對應資料

MacOS使用Docker建立MySQL主從資料庫

可以發現主庫新增的資料已經同步過來了,MySQL的主從複制就設定完成了。(測試環境,MacOS M1 ARM64機器,Docker,MySQL 8.0.27)