1. 程式人生 > 其它 >使用 Docker 配置 MySQL 主從叢集

使用 Docker 配置 MySQL 主從叢集

使用 Docker Compose 啟動一主一從的 MySQL 叢集。

GitHub:https://github.com/khs1994-docker/mysql-cluster

配置檔案內容

可以通過命令配置,這裡以配置檔案舉例。

主伺服器

[mysqld]
log-bin = mysql-bin
server-id = 1

從伺服器

[mysqld]
server-id = 10

啟動 Docker MySQL

編寫 docker-compose.yml 檔案,檔案內容請檢視 GitHub。

新建 .env 檔案,寫入以下內容

MYSQL_ROOT_PASSWORD=mytest

啟動 Docker 容器

$ docker-compose up -d

關聯節點

下面了介紹手動執行的步驟,GitHub 中將這一步寫入了 shell 指令碼檔案。

主伺服器

登入主伺服器

$ docker-compose exec mysql_master mysql -uroot -pmytest
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by 'mytest';
SHOW master status;

記住 FilePosition 的值。我查出來的是 mysql-bin.000004312

從伺服器

新開啟一個終端,登入從伺服器

$ docker-compose exec mysql_node mysql -uroot -pmytest
change master to master_host='mysql_1',master_user='backup',
     master_password='mytest',master_log_file='mysql-bin.000004',
     master_log_pos=312,master_port=3306;

start slave;

show slave status;

測試

在主伺服器建立一個數據庫

create database test;

在從伺服器檢視資料庫,發現已經存在了 test(與主伺服器同步)

show databases;

More Information