安装mysql主从复制原理:

主从复制就是让一个数据库(主库)把数据变更自动同步到其他数据库(从库)的过程。

主库负责处理写操作,每次数据更新时,会将这些变更记录成日志;从库连接到主库,获取这些日志,并在本地重放相同的操作,从而保持数据一致。

这样实现了读写分离和备份。

主从搭建步骤:

步骤1.新建主服务器容器实例3307

docker         run -p 3307:3306 --name mysql-master
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysgl:5.7

再次带大家认识一遍命令:

1、3307映射到3306(左边为宿主机,右边docker真正跑起来容器内部的端口,名字为mysql-master

2、三个-v开头,容器数据卷,容器、数据、配置

3、宿主机上对配置文件的修改可以同步进mysql docker容器实例,所以-e是环境,后面是密码和版本)

Docker MySQL主从复制之主库安装与配置图文详解

直接在tmp路径下执行此命令。


步骤2.进入/mydata/mysql-master/conf目录下新建my.cnf

Docker MySQL主从复制之主库安装与配置图文详解

Vim内容:[mysqld]
#设置server_id,同一局域网中需要唯一
server_id=101
#指定不需要同步的数据库名称
binlog-ignore-db=mysql
#开启二进制日志功能
log-bin=mall-mysql-bin
##设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
#设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
#二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
##跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
##如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

Docker MySQL主从复制之主库安装与配置图文详解

Docker MySQL主从复制之主库安装与配置图文详解


步骤3.修改完配置后重启master实例

docker restart mysql-master

Docker MySQL主从复制之主库安装与配置图文详解


步骤4.进入mysql-master容器

docker exec -it mysql-master /bin/bash
mysql -uroot -proot

Docker MySQL主从复制之主库安装与配置图文详解

Docker MySQL主从复制之主库安装与配置图文详解


步骤5.master容器实例内创建数据同步用户

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.*TO 'slave'@'%';

Docker MySQL主从复制之主库安装与配置图文详解

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)