使用mysql容器创建主从同步

news2024/11/18 21:26:50

1、主数据库设置

创建主数据库容器:

docker run -d --restart=always --name mysql-master -p 3306:3306 -v /home/apps/mysql-master/conf:/etc/mysql/conf.d -v /home/apps/mysql-master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16 --lower_case_table_names=1

参数解释:

参数解释
--restart=always开启容器随docker自启动
-v /home/apps/mysql-master/conf:/etc/mysql/conf.d容器内的/etc/mysql/conf.d目录映射到主机目录/home/apps/mysql-master/conf,因为这个目录是配置mysql的,所以需要映射出来。
MYSQL_ROOT_PASSWORD=123456设置mysql容器的初始密码为123456
--lower_case_table_names=1mysql数据库忽略大小写

给主mysql数据库设置my.cnf

进入主mysql配置目录,并创建my.cnf

cd /home/apps/mysql-master/conf

vim my.cnf

[mysqld]
# 服务器唯一id,每台服务器的id必须不同,如果配置其他从机,注意修改id
server-id=1
# 日志格式调整为STATEMENT
binlog_format=STATEMENT
# 只同步这个名称的数据库
# binlog-do-db=test

重启主数据库容器:docker restart mysql-master

进入主数据库容器的mysql,并执行以下操作

-- 创建slave用户
CREATE USER 'slave'@'%';
-- 设置密码
ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
-- 授予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;

-- 主机中查询master状态
SHOW MASTER STATUS;

-- 在主机上执行。功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。(同步有问题时使用)
reset master;

留意这2个参数,从数据库中需要用到

2、配置从数据库

创建从数据库mysql容器 

docker run -d --restart=always --name mysql-slave1 -p 3307:3306 -v /home/apps/mysql-slave1/conf:/etc/mysql/conf.d -v /home/apps/mysql-slave1/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16 --lower_case_table_names=1

这里mysql的3306端口映射为主机的3307端口

进入主mysql配置目录,并创建my.cnf

[mysqld]
# 服务器唯一id,每台服务器的id必须不同,如果配置其他从机,注意修改id
server-id=10
# 中继日志名,默认xxxxxxxxxxxx-relay-bin
# relay-log=relay-bin
# 跳过域名缓存,否则连接会很慢
skip-host-cache
skip-name-resolve

重启从数据库:docker restart mysql-slave1

如果主数据库存在有database,需要同步,那么先要把主数据库数据导出,再执行导入到从数据库,要求保证主从数据库均存在相同的数据库和数据,这样才能进行同步 

进入从数据库容器的mysql,执行以下内容:

-- 配置从数据库同步
CHANGE MASTER TO MASTER_HOST='主数据库IP', MASTER_USER='slave',MASTER_PASSWORD='123456', MASTER_PORT=3306,MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=11192030;

-- 开启数据库同步
START SLAVE;

-- 检查同步状态
SHOW SLAVE STATUS
-- 或者
SHOW SLAVE STATUS\G

-- 停止同步
stop slave; 

-- 在从机上执行。功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件。
reset slave all;

检查同步状态:SHOW SLAVE STATUS\G

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这2项均为Yes,创建成功。

3、排错

Slave_IO_Running   Slave_SQL_Running保证这2个都是Yes,其中一个为No都不能进行同步,使用SHOW SLAVE STATUS\G命令进行查看报错原因。其中比较集中的是表不存在错误。

在开启同步时,需要保证主从数据库的数据库版本、数据库和数据是一致的,数据库是否忽略大小写问题等。

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

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

相关文章

【普通人维护windows的方法,不中毒,不弹窗,不卡顿】

前言 IT人也是普通人,我就说说普通人维护电脑的方法。 我的电脑配置 给大家看看,配置一般,运行软件和游戏,可以保持基本流程 日常维护措施 我不太喜欢设定一些非主流的配置,下了一个360卫士,360其他的套餐可以不用下…

【腾讯云 Cloud Studio 实战训练营】云上编程,彻底释放电脑物理内存

文章目录 前言一、快速上手1、账号注册2、新建工作空间3、配置工作空间参数4、工作空间展示5、运行飞机大战代码 二、空间模板三、应用推荐1、点击 Fork2、等待工作空间启动3、安装 Dependencies4、运行 App 总结 前言 腾讯云推出的 Cloud Studio 是基于浏览器的集成式开发环境…

Android 14重要更新预览

Android 14重要更新预览 国际化 Android 14 在 Android 13 的基础上进一步扩展了按应用设定语言功能,提供了一些额外的功能: 自动生成应用的 localeConfig:从 Android Studio Giraffe Canary 7 和 AGP 8.1.0-alpha07 开始,您可以…

vcruntime140_1.dll修复的方法大全,缺失vcruntime140_1.dll解决方法分享

vcruntime140_1.dll这个文件在电脑里属于挺重要的一个文件,一但它缺失了,那么很多程序都是运行不了的,今天我们就来讲解一下这个vcruntime140_1.dll修复以及它的一些作用和属性。 一.vcruntime140_1.dll的作用 vcruntime140_1.dll是Microso…

排序八卦炉之选择、堆排

文章目录 1.选择排序1.1代码实现1.2复杂度 2.堆排序2.1代码实现2.2复杂度 1.选择排序 1.1代码实现 // 当数据趋于有序或随机(可能部分有序) 插排更有优势 O(N)~O(N^2) //选择排序:O(N^2) O(N^2)~O(N^2) void …

HttpRunner自动化工具之times 重复执行

单个用例重复执行 如果想让某个测试步骤重复执行,可以在test 中增加times参数,如下: 执行效果: 实战案例 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这…

纯粹即刻,畅享音乐搜索的轻松体验

纯粹即刻,畅享音乐搜索的轻松体验 在当今快节奏的生活中,我们常常渴望一种简单而便捷的方式来探索和享受音乐。现在,你可以纯粹即刻地畅享音乐搜索的轻松体验。无论你是寻找热门歌曲还是探索不同风格的音乐,这款应用将为你带来随…

6.物联网操作系统信号量

一。信号量的概念与应用 信号量定义 FreeRTOS信号量介绍 FreeRTOS信号量工作原理 1.信号量的定义 多任务环境下使用,用来协调多个任务正确合理使用临界资源。 2.FreeRTOS信号量介绍 Semaphore包括Binary,Count,Mutex; Mutex包…

ATFX汇评:英央行利率决议来袭,大概率加息25基点

ATFX汇评:今日19:00,英国央行公布利率决议、会议纪要和货币政策报告;半小时后,英国央行行长贝利召开货币政策新闻发布会。当前英国央行基准利率5%,市场预期将加息25基点至5.25%,假若符合预期,则…

问道管理:沪指窄幅震荡跌0.18%,有色、汽车等板块走低

3日早盘,沪指盘中窄幅震动下探,创业板逆市上扬;两市半日成交不足5000亿元,北向资金净卖出超15亿元。 到午间收盘,沪指跌0.18%报3255.88点,深成指跌0.23%,创业板指涨0.2%;两市算计成交…

2023年一建考点速记(五大专业)

一级级建造师考点速记手册是根据历年考试的命题方向及命题规律总结而成,其中BI超频必考点(每年必考),B2高频易考点(每2年一次)B3中频可考点(3-5年一次),B4低频 BOSS 考点(超过5年一次B1涵盖卷面的40%的分值;B2涵盖卷面20%的分值;B3涵盖卷面15…

网工头疼的IP子网划分,其实就这么简单

下午好,我的网工朋友。 最近网工群里还是一如既往的热闹啊,关于行业、技术、职场的话题热议不断。 前段时间有群友在里面聊子网划分,有几个不懂的网工朋友,悄悄来私聊老杨总,表示想再补充一下这方面的知识。 看了眼&…

IDEA强大的VisualGC插件

前言 开发阶段实时监测,自己的JVM信息,实时可视化 Hotspot JVM 垃圾回收监控工具, 支持查看本地和远程JVM进程, 支持G1 and ZGC算法。 插件安装 在线安装 IntelliJ IDEA 可通过在线安装的方式,安装插件 JDK VisualGC,安装步骤: …

Selenium Chrome Webdriver 如何获取 Youtube 悬停文本

导语 Youtube 是一个非常流行的视频分享平台,有时候我们可能想要爬取一些视频的信息,比如标题、播放量、点赞数等。但是有些信息并不是直接显示在网页上的,而是需要我们将鼠标悬停在某个元素上才能看到,比如视频的时长、上传时间…

华为云CTS 使用场景

云审计服务 CTS 云审计服务(Cloud Trace Service),帮助您监控并记录华为云账号的活动,包括通过控制台、API、开发者工具对云上产品和服务的访问和使用行为,提供对各种云资源操作记录的收集、存储和查询功能&#xff0…

解密Redis:应对面试中的缓存相关问题2

面试官:Redis集群有哪些方案,知道嘛? 候选人:嗯~~,在Redis中提供的集群方案总共有三种:主从复制、哨兵模式、Redis分片集群。 面试官:那你来介绍一下主从同步。 候选人:嗯&#xff…

IDEA基础使用

IDEA基础使用 1、IDEA中显示用法和用户截图展示有调用显示无调用显示 对应方法 2、如何找出项目中所有不被调用方法截图展示对应方法 3、常用代码(Code)说明及快捷键:4、未完待续待日后更新。。。总结:欢迎指导,也祝码友们代码越来越棒,技术越…

python版puppeteer——pyppeteerselenium的加强版——seleniumwire

目录 前言seleniumwire安装创建web driver设置代理反屏蔽修改window.navigator.webdriver关键字返回结果options追加参数 pyppeteerpuppeteer安装快速入门参数配置隐藏浏览器特征拦截请求更多文档&博客 Playwright安装快速入门新概念:Context页面基本操作选择器…

wolfSSL5.6.3移植至ZYNQ(XC7Z010)记录

上篇文章主要描述了如何从源工程中将configure.ac转变为configure,并成功使其在Ubuntu上运行,此篇主要描述将其移植到嵌入式arm开发板上(在官方手册中有列举支持的硬件平台架构)。 交叉编译 1. 解压源工程代码; 2.进…

XUbuntu22.04之统计屏幕使用时间activitywatch(一百八十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…