win7环境docker搭建mysql读写分离

1、win7安装docker

安装包及mysql配置文件下载

 

安装好点击图标进行舒适化,他会自动去下载最新的boot2docker.iso,太慢。可以在点击运行之前,切断互联网。

 

成功

2、启动链接虚拟机

 

用ssh工具链接

账号:docker 密码:tcuser

 

3、用docker创建2个mysql实例


192.168.99.100:33061/主机
192.168.99.100:33062/从机

docker run --name mysql1 -p 33061:3306 -e MYSQL_ROOT_PASSWORD=1234 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker run --name mysql2 -p 33062:3306 -e MYSQL_ROOT_PASSWORD=1234 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

解释一下:创建启动容器名mysql1,虚拟机端口33061,容器端口3306,root密码1234,-d表示容器后台运行,版本5.7

执行后查看已经运行的实例

 

4、配置主库

此时已经可以用Navicat链接了

4.1 配置从机登录账户

Navicat中执行

GRANT REPLICATION SLAVE ON *.* to 'slave1'@'%' identified by '1234';

% 表示这个账户可以从任意地址登录,也可以给一个固定的 IP,表示这个账户只能从某一个 IP 登录。

4.2 开启binlog

mysqld.cnf文件

[mysqld]
log-bin=/var/lib/mysql/binlog  // binlog 的位置只要操作权限
server-id=1   //集群中唯一的标识符
binlog-do-db = mesdb   //需要同步的数据库
binlog-do-db = test1
binlog-do-db = test2
binlog-do-db = test3

 

docker exec -it mysql1 /bin/bash  //进入mysql1容器
cd /etc/mysql/mysql.conf.d   //切换目录
exit  //退出


docker cp ./mysqld.cnf mysql1:/etc/mysql/mysql.conf.d/       //当前目录mysqld.cnf配置文件拷贝到容器1里面的配置目录

docker restart mysql1    //重启容器

 

 

 

5、从机配置

mysqld.cnf文件

[mysqld]
server-id=2

 

docker cp ./mysqld.cnf mysql2:/etc/mysql/mysql.conf.d/

docker restart mysql2


Navicat下执行
change master to master_host='192.168.99.100',master_port=33061,master_user='slave1',master_password='1234',master_log_file='binlog.000001',master_log_pos=154;

start slave;

show slave status;

Slave_IO线程负责把主库的bin日志(Master_Log)内容,抄写到从库的中继日志上(Relay_Log)。
Slave_SQL线程负责把中继日志上的语句在从库上执行一遍。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值