docker mysql 主从同步

docker 启动mysql

== docker 安装mysql时候挂载具名挂在 自己试验出问题 就是挂载目录修改任意一个my.cnf 两个挂载my.cnf都被修改 ==

启动mysql

提前创建好挂载目录
/root/mysqltest/m1
/root/mysqltest/m2
… 多个文件目录
主节点


docker run -p 3306:3306 --name mysql1 --net mynet \
-v /root/mysqltest/m1/log:/var/log/mysql \
-v /root/mysqltest/m1/data:/var/lib/mysql \
-v /root/mysqltest/m1/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

从节点

docker run -p 3305:3306 --name mysql2 --net mynet \
-v /root/mysqltest/m2/log:/var/log/mysql \
-v /root/mysqltest/m2/data:/var/lib/mysql \
-v /root/mysqltest/m2/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

主从数据配置

进入挂载目录创建my.cnf文件
主节点

[mysqld]
# 与从节点不一样
server_id = 1
log-bin= mysql-bin
#读权限
read-only=0
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

从节点

[mysqld]
server_id = 2
log-bin= mysql-bin
read-only=1
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

修改后重启mysql

创建用户同步mysql

  1. 主从数据需要权限用户用于同步数据
    use mysql 数据库执行语句
# 创建用户赋予权限
CREATE USER 'slave'@'%' IDENTIFIED BY 'root'
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by 'root';

查询主节点状态
show master status 
记住file,position

在这里插入图片描述

  1. 从节点连接主节点
    # 主节点ip
    change master to master_host='ip',master_user='slave',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=686,master_port=3306;
    

自己就这样发现数据库是可以主从数据同步 ,其他还要继续学习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值