主服務器my.cnf文件中加入以下配置html
1
2
|
server-
id
= 1
log_bin =
log-bin=master-bin
|
從服務器my.cnf文件中配置mysql
1
|
server-
id
= 2
|
進入主服務器容器sql
1
|
docker exec -ti -u root mariadb_master bash
|
進入mariadb數據庫docker
1
|
mysql -uroot -proot
|
查看log_bin是否開啓,執行「show variables like '%log_bin%';」數據庫
受權用戶讀取bin日誌bash
create user
'slave2
'
@
'%'
identified by
'slave2
'
;
grant replication slave on *.* to
'slave
2'
@
'%'
;
flush privileges;
查看主服務器BIN日誌的信息服務器
1
|
show master status;
|
記錄file和Position信息,用於配置從服務器。ide
進入從服務器spa
docker exec -ti -u root mariadb_slave bash
日誌
,執行以下命令。
1
2
3
4
5
6
7
|
CHANGE MASTER TO
MASTER_HOST=
'172.17.0.3'
, --主服務器端口
MASTER_PORT=3306 , --主服務器對外暴露的端口
MASTER_USER=
'slave1'
,
MASTER_PASSWORD=
'slave1'
,
MASTER_LOG_FILE=
'mariadb-bin.000002'
,
MASTER_LOG_POS=2889;
master_connect_retry=30;
|
查看是否配置成功
1
|
show slave status\G;
|
當Slave_IO_Runing,Slave_SQL_Running都顯示yes時,主從複製配置成功。
參考https://www.cnblogs.com/xxrl-c/p/11073657.html