单机服务器docker搭建mysql5.7主从同步

news2024/11/30 8:48:10

1.首先使用docker安装mysql5.7

        docker pull mysql:5.7

2.创建主库(从3306映射一个3308端口)

        docker run -d -p 3308:3306 -v /home/mysql-master/conf:/etc/mysql/conf.d -v /home/mysql-master/data:/var/lib/mysql -v /home/mysql-master/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 --name  mysql-master mysql:5.7

3.配置主库的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

4.重启master(docker restart mysql_master)

5.进入主库的容器(docker exec-it name值 /bin/bash)值使用docker ps查看

6.查看mysql IP (docker restart mysql_master,gateway列如果为空说明配置错误,需重新部署)

7.进入到mysql创建一个同步数据的账号(擦婚媾建账号注意’’)

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

先把master主库当前状态查出(记住file和position的值)

8.创建从库

docker run -d -p 3309:3306 -v /home/mysql-salve/conf:/etc/mysql/conf.d -v /home/mysql-salve/data:/var/lib/mysql -v /home/mysql-salve/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 --name  mysql-salve mysql:5.7

9.配置从库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

10.重启从库容器(docker restart mysql_salve)

11.在从库mysql里配置主从同步(执行一下语句,master_log_file对应主库查出的file,master_log_pos对应主库的position值)

Change master to master_host='172.17.0.1',master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000002',master_log_pos=154,master_connect_retry=30;

如果上面执行错误:

先停止主节点:stop slave;reset master;

再次执行上面从库配置语句,然后执行start slave;

12.配置成功后执行,show slave status\G查看状态,如下图,双YES则成功

                 接下来就可以用数据库远程工具开始测主从同步的效果吧!

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

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

相关文章

启程,2022亚马逊云科技re:Invent Peter带来主题演讲

北京时间11月29日,2022亚马逊云科技re:Invent全球大会开幕首日,亚马逊云科技高级副总裁Peter DeSantis带来最新创新产品隆重登场,其间不乏计算、网络、算法及Serverless等最新功能特性。 网络协议创新:新产品 新理念 基于亚马逊…

MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制

一、准备工作 首先需要准备好环境,包含必要的软件,痞子衡的环境如下: 集成开发环境: MCUXpresso IDE_11.6.0_8187,点此下载软件开发包: SDK_2.12.1_EVK-MIMXRT1170(Toolchain需包含MCUXpresso I…

这么卷,现在测试工程师要求会写工具了?

Fintech概念正受到不少互联网金融公司的热捧,主要是指代那些可用于撕裂传统金融服务方式的高新技术。越来越多的企业开辟了新的部门去研究各种各样能让自己产品增值的科技类产品。 尤其是在很多互联网金融公司,业务分析师BA(Business Analyst)&#xff…

【Linux】-- 初识操作系统

目录 一、冯诺依曼体系结构 二、操作系统 1.概念 2.为什么要有操作系统 三.操作系统 1.硬件层 2.驱动层 3.操作系统层 4.用户层 (1)用户层 (2)系统调用接口 (3)用户操作接口 四、如何管理 1…

C. Zero-Sum Prefixes Codeforces Round #833 (Div. 2)(前缀和+贪心)

传送门 题意: 给你一个长度为n的数组,里面包含a1,a2,a3...an n个元素, 当的时候,你可以将变成任意数字, 问你经过任意次操作后对于,它的前i项和为0的个数是最大是多少? 思路: …

27岁自学Python转行靠谱吗?入行晚吗?

前言 今年已经奔三的小编来给大家说说,之前自己也是在一个普通的二本院校上学,学的还是工商管理,毕竟读书的时候电视剧里面的主角都是工商管理的大佬。 不过在毕业之后就经历了社会的毒打,后面小编就想去换一个工作,…

[附源码]计算机毕业设计springboot交通事故档案管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

jsp192ssm驾校报名预约管理系统

目 录 汽车驾校管理系统设计与实现 I 摘 要 I ABSTRACT I 目 录 III 第1章 绪论 3 1.1开发背景 3 1.2开发意义 3 1.3研究内容 3 第2章 主要技术和工具介绍 3 2.1SSM 框架 错误!未定义书签。 2.1.1. Spring 框架 3 2.1.2 SpringS…

clickhouse远程访问Oracle 11g数据库(clickhouse-jdbc-bridge)

1、简介 clickhouse-jdbc-bridge:是clickhouse提供的一个jdbc组件,用于通过JDBC的方式远程访问其他数据库表。 2、安装 (1)下载源文件并打包获取clickhouse-jdbc-bridge-2.0.7-shaded.jar 在官网:https://github.c…

stc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中)

文章目录stc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中)概述笔记原理图ENDstc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中) 概述 为板子写测试程序, 整到12864 LCD这里. STC原厂工程只提供并口通讯. 找了网上同学的串口通讯实现, 整理了一下, 将串…

当成为全球第二大汽车出口国后,中国车企的下一步是什么?

新一轮汽车出口浪潮在疫情期间悄然启动,中国汽车工业协会发布数据显示,自2021年起,汽车出口销量呈现高速增长的势头,2022年前三季度汽车出口量超过2021年全年出口量,并超越德国,成为仅次于日本的全球第二大…

熊市链游模型如何设计开发?

GameFi的全局趋势 自第一款视频游戏诞生以来,游戏世界已经发生了翻天覆地的变化。技术和玩游戏的目的是不断围绕游戏本身发展着的两件主要事情。曾经的街机游戏、主机游戏、电脑游戏,再到如今智能手机时代,手机游戏已经无处不在。随着时间的…

Navicat 被广泛的应用于各行各业的原因

近期,Navicat 发起了一场用户线上投票活动,受到了众多用户的关注和热情响应!今天,我们就带大家了解此次投票数据通过用户的职业、使用频率、连接的数据库种类以及最常用的功能,通过用户视角了解 Navicat 产品的适用范畴…

Https加密超文本传输协议的运用

内容预知 1.https的相关知识 1.1 https的简介 1.2 HTTP 与 HTTPS 的区别 1 .3 SSL的相关了解 1.3 SSL/TLS协议和证书的关系 1.4 https的工作流程 1.5 客户端是如何验证证书是否有效 1.6 web网站并未全部采用https的原因 2. SSL证书获取的方法 2.1 阿里云证书的获取 2…

linux不显示当前路径的解决方法

1.输入vim ~/.bashrc进入用户的shell环境变量的配置文件(可以设置环境变量以及通过alias设置别名) 2.按下“i”键进入编辑模式(底部显示INSERT) 3.修改\w为$PWD: 修改为: 4.按“esc”键后输入":wq"保存并退出&#xff…

IPSec NAT穿越原理

在IPSec VPN部署中,如果发起者位于私网内部(如下图FW_C),而它希望与FW_A之间直接建立一条IPSec隧道,这种情况下NAT会对部署IPSec VPN网络造成障碍。 PC2发业务报文给PC1,IPSec先对IP包头或端口信息进行验证…

10 个用图表解释JavaScript 闭包的面试题

闭包是函数式编程中的核心概念之一,是每个 JavaScript 开发人员必备的知识。在这里,我准备了 10 个关于闭包的面试挑战题,这些基本都是面试中经常被问到的。 你准备好了吗?我们现在要开始了。 每个题目都有一个代码片段&#xf…

代码随想录算法训练营第五十天| LeetCode123. 买卖股票的最佳时机 III、LeetCode188. 买卖股票的最佳时机 IV

一、LeetCode123. 买卖股票的最佳时机 III 1:题目描述(123. 买卖股票的最佳时机 III) 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意…

小学生学Arduino---------点阵(一)静态图片显示

今天来看一下,点阵模块这一模块可以做出非常有意思的东西。 学习目标: 1、了解点阵原理 2、掌握图形绘制(心形、三角形等) 3、掌握图形显示器的功能 4、掌握led点阵屏幕的功能 5、搭建电路 6、编写程序 一、点阵的原理 LED点阵屏…

Functional Programming in Java venkat(16) Being Lazy part3

文章目录Functional Programming in Java venkat(16): Being LazyLeveraging the Laziness of StreamsIntermediate and Terminal OperationsMethod Evaluation OrderPeeking into the LazinessFunctional Programming in Java venkat(16): Being Lazy 这里是记录学习这本书 F…