溫馨提示×

docker怎么搭建mysql主從

小億
81
2024-07-27 01:15:12
欄目: 云計算

要在Docker中搭建MySQL主從復(fù)制,可以按照以下步驟操作:

  1. 創(chuàng)建MySQL主從復(fù)制的網(wǎng)絡(luò)(可選):
docker network create mysql-replication
  1. 啟動MySQL主服務(wù)器:
docker run -d --name mysql-master --network mysql-replication -e MYSQL_ROOT_PASSWORD=password mysql:latest
  1. 啟動MySQL從服務(wù)器:
docker run -d --name mysql-slave --network mysql-replication -e MYSQL_ROOT_PASSWORD=password mysql:latest
  1. 配置主服務(wù)器: 登錄到主服務(wù)器容器中,創(chuàng)建用于復(fù)制的用戶,并開啟二進制日志記錄和GTID:
docker exec -it mysql-master bash
mysql -u root -p

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

SET GLOBAL binlog_format = 'ROW';
SET GLOBAL log_slave_updates = 1;
SET GLOBAL gtid_mode = ON;
SET GLOBAL enforce-gtid-consistency = ON;
  1. 配置從服務(wù)器: 登錄到從服務(wù)器容器中,配置從服務(wù)器連接主服務(wù)器并開始復(fù)制:
docker exec -it mysql-slave bash
mysql -u root -p

CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1;
START SLAVE;
  1. 檢查主從復(fù)制狀態(tài): 在主服務(wù)器上執(zhí)行以下命令檢查主從復(fù)制狀態(tài):
SHOW MASTER STATUS;

在從服務(wù)器上執(zhí)行以下命令檢查主從復(fù)制狀態(tài):

SHOW SLAVE STATUS \G;

如果輸出結(jié)果中的Slave_IO_RunningSlave_SQL_Running均顯示Yes,則表示主從復(fù)制已成功搭建。

通過以上步驟,您可以在Docker中成功搭建MySQL主從復(fù)制的環(huán)境。

0