Docker之安装mysql主从复制

news2024/10/7 16:25:05

安装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 mysql:5.7

2、·进入/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

3、·修改完配置后重启master实例

docker restart mysql-master

4、进入mysql-master容器

docker exec -it mysql-master /bin/bash

在容器中:

mysql -uroot -proot

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

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

6、·新建从服务器容器实例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

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

8、修改完配置后重启slave实例

docker restart mysql-slave

9、在主数据库中查看主从同步状态

show master status;

进入mysql-slave容器

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

10、在从数据库中配置主从复制

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;

在这里插入图片描述

·主从复制命令参数说明
master_host:主数据库的IP地址;
master_port:主数据库的运行端口;
master_user:在主数据库创建的用于同步数据的用户账号;
master_password:在主数据库创建的用于同步数据的用户密码;
master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;
master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;
master_connect_retry:连接失败重试的时间间隔,单位为秒。
在这里插入图片描述
·11、在从数据库中查看主从同步状态

show slave status \G;

在这里插入图片描述
在这里插入图片描述
12、在从数据库中开启主从同步

13、查看从数据库状态发现已经同步
在这里插入图片描述
14、主从复制测试
15、主机新建库-使用库-新建表-插入数据,ok
16、从机使用库-查看记录,ok

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过cpolar实现外网ssh远程连接linux

现在我有个想法,就是希望通过外网能够远程连接到我的开发板。这里我们就需要使用到一种技术,内网穿透。 内网穿透是一种将内部网络中的设备通过外网进行访问的技术。在linux系统中,实现内网穿透有多种方式,其中最常见的方法是使用…

Spring全家桶源码解析--2.6 Spring scope 限制bean的作用范围

文章目录 前言一、Scope是什么?二、Scope使用2.1 单例:2.1.1 单例Bean的特点如下:2.1.2 单例设计模式 与单例bean: 2.2 原型bean:2.2.1 原型Bean的特点:2.2.2 原型Bean的销毁: 2.3 Request bean…

什么是集成测试?集成的方法有哪些?

前言 综合测试整合测试非常复杂,需要一些开发和逻辑技能。的确如此!那么把这个测试整合到我们的测试策略中的目的是什么呢?这个问题我们先不着急回答,让我们一步步往下看你就知道了。 为什么要进行集成测试? 以下是一…

Linux项目自动化构建工具---make/Makefile

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 坚持才是硬道理! 一、工具背景 1.会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 2.一个工程中的源文件不计数,其按类型、功能、模块分…

达梦集群搭建

一、数据库安装 ###(一)安装前准备 版本准备 [rootlocalhost ~]# uname -a Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux将镜像文件传到/opt目录下 [rootlocalhost100 …

【PyQt小知识 - 1】:QLineEdit内容的更新和获取、设置无边框

文章目录 QLineEdit更新和获取文本框内容设置为无边框 QLineEdit 更新和获取文本框内容 更新:QLineEdit().setText(text) 获取:QLineEdit().text() from PyQt5.QtWidgets import * import sysapp QApplication(sys.argv)window QWidget() window.re…

sqli-labs(Less-4) extractvalue闯关

extractvalue() - Xpath类型函数 1. 确认注入点如何闭合的方式 2. 爆出当前数据库的库名 http://127.0.0.1/sqlilabs/Less-4/?id1") and extractvalue(1,concat(~,(select database()))) --3. 爆出当前数据库的表名 http://127.0.0.1/sqlilabs/Less-4/?id1") …

Java map 详解 - 用法、遍历、排序、常用API等

概要: java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。 Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。 本文主要介绍java m…

金融行业如何数字化转型?_光点科技

金融行业的数字化转型涉及技术创新的引入、客户体验的改善、内部流程的优化、安全和合规性的加强以及员工技能和企业文化的转变。 技术创新 包括云计算、人工智能、大数据分析和区块链技术的采用。云计算增强数据处理的灵活性,AI和机器学习在风险评估和欺诈检测方面…

【技术分享】配置二层远程端口镜像案例

热门IT课程-CSDN博客文章浏览阅读24次。认证课程介绍:华为HCIA试听课程 : 华为HCIA试听课程:华为HCIA试听课程:华为HCIP试听课程:思科CCNA试听课程:思科CCNA试听课程:思科CCNA试听课程&#xff…

Arduino安装 esp32 by Espressif (2.0.11)

安装Arduino IDE 2.2.1 Arduino 中安装 esp32 by Espressif (2.0.11) Arduino 中安装 DS1302 库文件 2022年安装的Arduino是1.8.10版本的,主控芯片是外置 2MB Flash 的 ESP32-C3芯片。ESP-C3-12F-2M。 202206 Arduino软件的安装、配置与程序下载的全过程演示 2023…

plsql查询中文出现乱码

添加环境变量:如下 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 变量名:TNS_ADMIN 变量值:D:\instantclient_11_2\network\admin 在Path中添加instantclient_11_2存放路径

TOUGH系列软件教程

查看原文>>>全流程TOUGH系列软件实践技术应用 TOUGH系列软件是由美国劳伦斯伯克利实验室开发的,旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同,TOUGH系列软件采用模块化设计和有限积分差网格剖分…

notpad++正则化,利用关键字符删除整行

首先,ctrlf,选中[替换],勾选正则表达式(可以勾选[匹配大小写],不用勾选[匹配新行])。在[查找目标]框输入[^(.*)"car_no_clean"(.*)$\n]。在$后加上\n,可以将被替换的行直接删除,不加则…

【广州华锐互动】AR技术为气象站远程监控及在线指导维修提供极大便利

随着科技的不断发展,人类对于自然环境的理解和掌控能力也在不断提升。其中,AR(增强现实)技术的应用,为气象监控带来了革命性的变化。AR远程气象监测,就是将AR技术与气象监控相结合,通过虚拟与现…

vue中通过.style.animationDuration属性,根据数据长度动态设定元素的纵向滚动时长的demo

根据数据长度动态设定元素的animation 先看看效果,是一个纯原生div标签加上css实现的表格纵向滚动动画: 目录 根据数据长度动态设定元素的animationHTMLjs逻辑1、判断是数据长度是否达到滚动要求2、根据数据长度设置滚动速度 Demo完整代码 HTML 1、确…

校园信息发布平台小程序的作用是什么

校园墙是校内信息传播的一种渠道,有专门的人添加校内学生、教师,谁有信息发布需求即可联系让其通过QQ、微信朋友圈、社群等形式发布,多年来,学生们习惯了这类方式。 但这种方式并不高效,缺乏信息的真实性以及便捷性&a…

Loguru:Python中强大的日志库

目录 一、Loguru的安装 二、Loguru的使用 2.1 日志级别的设置 2.2 日志的输出格式 2.3 日志轮转与压缩 2.4 日志的彩色输出 2.5 在生产环境中使用Loguru 2.6 日志的过滤和搜索 2.7 日志的自定义格式化 2.8 日志的上下文信息 2.9 日志的异步处理 2.10 日志的搜索和筛…

PSP - 蛋白质复合物结构预测 Template 的 Multichain Mask 2D (二维多链掩码)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134406459 在 蛋白质复合物结构预测 中,AlphaFold2 Multimer 的 Multichain Mask 2D 对于 模版特征 (Template) 的影响较大&#xff0…

【Python】逆向与爬虫的故事

目录 一、前言 二、爬虫 1、什么是爬虫? 2、Python 爬虫的主要工具 3、爬虫的基本流程 4、实例代码 三、逆向 1、什么是逆向? 2、Python 逆向的主要工具 3、逆向的基本流程 4、实例代码 四、总结 一、前言 随着互联网技术的发展&#xff0c…