Docker部署MySQL7,配置基于日志复制的主备集群

主库docker命令

docker run -d -p 3308:3306 --restart=always --privileged=true -v /docker/mysql7_master/data:/var/lib/mysql -v /docker/mysql7_master/my.cnf:/etc/mysql/my.cnf 
-e MYSQL_ROOT_PASSWORD=123456 --name mysql7_master mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

备库docker命令

docker run -d -p 3309:3306 --restart=always --privileged=true -v /docker/mysql7_slave/data:/var/lib/mysql  -v /docker/mysql7_slave/my.cnf:/etc/mysql/my.cnf 
-e MYSQL_ROOT_PASSWORD=123456 --name mysql7_slave mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

主备库账号创建命令

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO REPL@'xx.xx.xx.xx' IDENTIFIED BY 'p4ssword' 

主库配置添加

[mysqld]
log-bin = /var/lib/mysql/mysql-bin
server-id = 10

备库配置添加

[mysqld]
log-bin = /var/lib/mysql/mysql-bin
server-id = 2
relay_log = /var/lib/mysql/mysql-relay-bin
log_slave_updates = 1
read_only = 1

修改配置后重启服务

在主库上查看是否开启日志
show master status;

备库上设置复制配置

CHANGE MASTER TO 
MASTER_HOST='xx.xx.xx.xx',--主库ip
MASTER_PORT=xxxx,--主库端口
MASTER_USER='xxxx',--主库用于备份的账号
MASTER_PASSWORD='xxxx',--主库用于备份的账号的密码
MASTER_LOG_FILE='mysql-bin.000001',--主库日志名称
MASTER_LOG_POS=3472;--主库日志位置(通过show master status查看)

查看是否启动复制show slave status;

开始复制start slave;(注意:开启复制前,备库和主库要先保持一致)

通过show slave status查看如下两项显示Yes表示成功开启

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

停止复制stop slave

查看复制进程show processlist;

在主库创建db 表 插入数据,在备库查看效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值