当前位置:网站首页>docker搭建mysql主从复制
docker搭建mysql主从复制
2022-07-22 10:30:00 【散_步】
第一步:新建主服务器实例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 mysql:5.7
第二步:进入/mydata/mysql-master/conf目录下新建my.cnf vim my.cnf
[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
第三步:修改完配置后重启master实例
docker restart mysql-master
第四步:进入mysql-master容器:
docker exec -it mysql-master /bin/bash
mysql -uroot -proot
第五步:master容器实例内创建数据同步用户
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
第六步:新建从服务器容器实例3308
docker run -p 3308:3306 --name mysql-slave \
-v /mydata/mysql-slave/log:/var/log/mysql \
-v /mydata/mysql-slave/data:/var/lib/mysql \
-v /mydata/mysql-slave/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
第七步:进入/mydata/mysql-slave/conf目录下新建my.cnf vim my.cnf
[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=102
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置为只读(具有super权限的用户除外)
read_only=1
第八步:修改完配置后重启slave实例
docker restart mysql-slave
第九步:在主数据库中查看主从同步状态
show master status;
第十步:进入mysql-slave容器:
docker exec -it mysql-slave /bin/bash
mysql -uroot -proot
第十一步:在从数据库中配置主从复制
change master to master_host='宿主机ip', master_user='slave', master_password='123456', master_port=3307, master_log_file='mall-mysql-bin.000001', master_log_pos=617, master_connect_retry=30;
aster_host:主数据库的IP地址;
master_port:主数据库的运行端口;
master_user:在主数据库创建的用于同步数据的用户账号;
master_password:在主数据库创建的用于同步数据的用户密码;
master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;
master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;
master_connect_retry:连接失败重试的时间间隔,单位为秒
第十二步:在从数据库中查看主从同步状态
show slave status \G;
第十三步:在从数据库中开启主从同步
第十四步:查看从数据库状态发现已经同步
第十五步:
主从复制测试
主机新建库-使用库-新建表-插入数据,ok
从机使用库-查看记录,ok
边栏推荐
- Elastic Search 学习入门之中文检索(八)
- redis集群搭建
- Microblaze添加自定义IP核,挂AXI总线实现SSD1306 OELD驱动
- 使用Modelsim独立仿真Altera及Xilinx IP核
- CentOS installs MySQL database
- What should I do after the domain name of website security is hijacked and the domain name is hijacked!!!
- Elastic Search 学习入门之ES的简单操作命令(二)
- Websites jump inexplicably. What is website hijacking from Baidu? How to solve Baidu snapshot hijacking
- ZYNQ TTC使用方法
- Introduction to machine learning: topic model-4
猜你喜欢
RAG小结
CPU亲和力
What should I do if the web page is hijacked? How to repair DNS hijacked? Introduction to web hijacking
Elastic Search 学习入门之中文检索(八)
[reading notes] MySQL architecture and storage engine
Elastic Search 学习入门之Search全文检索(七)
Elastic Search 学习入门之ES的简单操作命令(二)
LeetCode32——next permutation
Iptables for load balancing
网络劫持是什么?网页被篡改劫持怎么修复(终级方案)网页劫持如何修复?
随机推荐
What are the common ways for websites to be hacked and hijacked? What are the DNS hijacking tools?
LeetCode206——反转链表
dns劫持如何完美修複?dns被劫持如何解决如何完美修複
Usage and precautions of accumulator used in spark
Flask Cross - Domain
网站别黑了怎么解决?如何处理网站被黑问题详解
什么是百度快照劫持?百度快照劫持原理和解决办法
生成删除数据库所有表的外检脚本
机器学习入门:逻辑回归-2
SSM framework integration
DNS劫持如何预防、DNS是什么?DNS劫持详解
LeetCode0022——括号生成——DFS
网页被劫持了该怎么办?dns被劫持如何修复?网页劫持介绍
Elastic Search 学习入门之Elastic Search的安装配置(一)
Leetcode 22. bracket generation
常见的网站被黑被劫持的手段有哪些?dns劫持工具有那些?
NC4 judge whether there is a ring in the linked list
How to repair DNS hijacking perfectly? How to solve DNS hijacking and how to repair it perfectly
《因果学习周刊》第10期:ICLR2022中最新Causal Discovery相关论文介绍
LeetCode103——zigzagLevelOrder of binary tree