docker安装mysql5.7配置主从复制

一、安装msyql
##安装master 端口号为:3307
docker run -p 3307:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD=123456 -di --restart=always mysql:5.7
##安装slave 端口号为:3308
docker run -p 3308:3306 --name mysql-slave -e MYSQL_ROOT_PASSWORD=123456 -di --restart=always mysql:5.7

二、进入master容器,安装vim,修改配置文件
1.安装vim
docker exec -it mysql-master bash
apt-get update
apt-get install vim
2.修改配置文件
cd /etc/mysql
vim my.cnf

[mysqld]
server-id=100 //同一局域网内注意要唯一
log-bin=master-bin //开启二进制日志功能,可以随便取(关键)
binlog-format=ROW // 二级制日志格式,有三种 row,statement,mixed
binlog-do-db=数据库名 //同步的数据库名称,如果不配置,表示同步所有的库

3.配置完成重启mysql
service mysql restart

4.重新进入容器,赋予用户权限
docker exec -it mysql-master bash
mysql -uroot -p123456

//授予用户 [nb] REPLICATION SLAVE权限和REPLICATION CLIENT权限
CREATE USER 'nb'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'nb'@'%';

5.刷新权限
flush privileges;

6.展示状态,记住file和position栏对应的内容
show master status;
【注意:在配置slave的时候,不要操作 master,否则 maser中的 position 会发生变化】
在这里插入图片描述

三、进入slave容器,修改配置文件,开启主从复制
1.修改配置文件
docker exec -it mysql-slave bash
cd /etc/mysql
vim my.cnf

[mysqld]
server-id=101 //设置server_id,注意要唯一
log-bin=mysql-slave-bin //开启二进制日志功能,以备Slave作为其它Slave的Master时使用
relay_log=mysql-relay-bin //relay_log配置中继日志
read_only=1 //设置为只读,该项如果不设置,表示slave可读可写
super_read_only=1 //mysql5.7新参数,拥有super权限的用户也为只读

2.配置完成重启mysql
service mysql restart

3.重新进入容器,开启主从复制
docker exec -it mysql-slave bash
mysql -uroot -p123456

#在mysql客户端执行命令
change master to master_host='49.233.127.26', master_user='nb', master_password='123456', master_port=3307, master_log_file='master-bin.000001', master_log_pos=767, master_connect_retry=30;

#开启主从复制
start slave;
#再次查看状态,如图为两个yes时即为配置成功
show slave status \G
在这里插入图片描述
文章参考:https://blog.csdn.net/suprezheng/article/details/111564065

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值