主服务器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