docker mysql 主备_docker运行mysql主从备份,读写分离

1)从Docker官方下拉MySQL的image

0c577e87c5450dc17d5115add7a18bfd.png

在docker中运行 默认tag为latest

docker pull mysql/mysql-server

也可以指定mysql版本

docker pull mysql/mysql-server:5.7

2)设置目录 为了使MySql的数据保持在宿主机上,

我们先建立几个目录。

mkdir -pv /mysql/data

建立主服务器的配置目录

mkdir -pv /mysql/101

建立从服务器的配置目录

mkdir -pv /mysql/102

3)设置主从服务器配置

vi /mysql/101/101.cnf

[mysqld]

log-bin=mysql-bin

server-id=101

save_snippets_01.png

vi /mysql/102/102.cnf

[mysqld]

log-bin=mysql-bin

server-id=102

save_snippets_01.png

3)创建主从服务器容器

docker create --name mysqlsrv101 -v /home/docker/mysql/data/mysql101:/var/lib/mysql -v /home/docker/mysql/101:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

docker create --name mysqlsrv102 -v /home/docker/mysql/data/mysql102:/var/lib/mysql -v /home/docker/mysql/102:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3316:3306 mysql:5.7

save_snippets_01.png

启动容器

docker start mysqlsrv101

docker start mysqlsrv102

22b84b5cd643aab461461a4656eda952.png

4)登录主服务器的mysql,查询master的状态

695f9761afdb62742e71c8b9b644598c.png

主库创建用户

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';

5)登录从服务器的mysql,设置与主服务器相关的配置参数

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

change master to master_host='192.168.56.101',master_user='backup',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=2500;

master_host为docker的地址不能写127.0.0.1

master_user是在主库创建的用户

master_log_pos是主库show master status;查询出的Position

启动服务

start slave;

save_snippets_01.png

查看服务状态

show slave status;

3f8e36206b067b51084ccac94ff62888.png

Waiting for master to send event 就是成功了

Connecting to master 多半是连接不通

之后主库的修改都能同步到从库了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值