mysql主从配置(2025)

一、配置主服务器

  1. 编辑主mysql配置文件my.cnf(vim /etc/my.cnf),在[mysqld]下添加
[mysqld]
# 配置主ID,必须在所有参与主从复制的数据库保证唯一
server-id=1 
# 打开二进制日志
log-bin=/var/lib/mysql/mysql-bin.log
# 只允许同步ente_database数据库(可选配置),不配置同步所有
binlog-do-db=tciot-db
# binlog 保留时间设置为 7 天 
expire_logs_days=7  
  1. 启动主数据库,并登陆mysql数据库
#docker进入mysql方法
docker exec -it mysql bash
#登陆
mysql -u root -p123456
  1. 锁定主数据库中所有表,防止配置从数据库时,数据变动
mysql> flush tables with read lock;
  1. 查询主数据库状态
SHOW BINARY LOG STATUS;

显示结果
在这里插入图片描述

记住file,position,稍后要用到

二、配置从数据库

ps:需要再启动一个从数据库

sudo docker run -d -p 3308:3306 \
--name mysql2 --privileged=true \
-v /opt/tciot/mysql2/data:/var/lib/mysql \
-v /opt/tciot/mysql2/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
registry.cn-hangzhou.aliyuncs.com/wst-srv/mysql:8
  1. 编辑从mysql配置文件my.cnf(vim /etc/my.cnf),在[mysqld]下添加
    从库-主从配置
# 唯一ID
server-id=2
relay_log=/var/lib/mysql/mysql-relay-bin.log
replicate-do-db=tciot-db
expire_logs_days=7 
  1. 从主数据库拷贝需要同步的表数据,必须保证数据一致
    使用Navicat 15 for MySQL连接2个数据库,把主数据库的数据同步到从数据库

  2. 执行同步SQL语句

#登陆
mysql -u root -p123456#设置主库信息
CHANGE REPLICATION SOURCE TOSOURCE_HOST = '192.168.44.128',SOURCE_PORT = 3307,SOURCE_USER = 'root',SOURCE_PASSWORD = '123456', SOURCE_LOG_FILE = 'mysql-bin.000001', #主服务器通过(SHOW BINARY LOG STATUS;)查询出来结果中的File值;SOURCE_LOG_POS = 158; # 主服务器通过(SHOW BINARY LOG STATUS;)查询出来结果中的Position值;
  1. 开始同步
START REPLICA;
  1. 查看从数据库状态
SHOW REPLICA STATUS\G;

显示结果
在这里插入图片描述

这2项显示Yes,表示配置成功

  1. 打开主数据库的表锁
mysql> UNLOCK TABLES;

三、异常情况

短暂断网:从库会自动恢复,需关注延迟。

  • 长时间断网:可能需手动重建复制或重新初始化从库。

其他方案

docker启动的方式配置MySQL配置文件
查看docker启动可选配置

 docker run -it --rm mysql:tag --verbose --help

查看是否有server-id、log-bin、binlog-do-db、replicate-do-db等参数

主库

sudo docker run -d -p 3309:3306 \
--name mysql3 --privileged=true \
-v /opt/tciot/mysql3/data:/var/lib/mysql \
-v /opt/tciot/mysql2/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
registry.cn-hangzhou.aliyuncs.com/wst-srv/mysql:8 --server-id=1 --log-bin=/var/lib/mysql/mysql-bin.log --binlog-do-db=tciot-db

从库

sudo docker run -d -p 3308:3306 \
--name mysql2 --privileged=true \
-v /opt/tciot/mysql2/data:/var/lib/mysql \
-v /opt/tciot/mysql2/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
registry.cn-hangzhou.aliyuncs.com/wst-srv/mysql:8  --server-id=2 --log-bin=/var/lib/mysql/mysql-relay-bin.log --replicate-do-db=tciot-db

其他操作和前面一致

备注
binlog清理策略默认设置30天,如果需要可手动设置

[mysqld]
expire_logs_days = 7

如果希望从库的库名和主库不一致
从库的配置文件binlog-do-db改成和主库不一致的

replicate-do-db=tciot-di

从库输入下面语句,将主库和从库映射起来

CHANGE REPLICATION FILTER REPLICATE_REWRITE_DB=((`tciot-db`, `tciot-di`));

再开始同步

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.2.图的存储结构-邻接矩阵法

一.邻接矩阵法存储不带权图: 结点不带权值: 1.左图的无向图中,A到B直达的有一条路,所以A行B列的值为1; 左图的无向图中,A到F没有直达的路,所以A行F列的值为0; 结论:无…

1-知识图谱-概述和介绍

知识图谱:浙江大学教授 陈华军 知识图谱 1课时 http://openkg.cn/datasets-type/ 知识图谱的价值 知识图谱是有什么用? 语义搜索 问答系统 QA问答对知识图谱:结构化图 辅助推荐系统 大数据分析系统 自然语言理解 辅助视觉理解 例…

【C语言】C语言 食堂自动化管理系统(源码+数据文件)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言】C语言 食堂自动化管理系统(源…

C#之上位机开发---------C#通信库及WPF的简单实践

〇、上位机,分层架构 界面层 要实现的功能: 展示数据 获取数据 发送数据 数据层 要实现的功能: 转换数据 打包数据 存取数据 通信层 要实现的功能: 打开连接 关闭连接 读取数据 写入数据 实体类 作用: 封装数据…

网络编程(24)——实现带参数的http-get请求

文章目录 二十四、day241. char 转为16进制2. 16进制转为 char3. URL 编码函数4. URL 解码函数5. 实现 get 请求参数的解析6. 测试 二十四、day24 我们在前文通过beast实现了http服务器的简单搭建,但是有很多问题我们并没有解决。 在前文中,我们的 get…

机器学习_18 K均值聚类知识点总结

K均值聚类(K-means Clustering)是一种经典的无监督学习算法,广泛应用于数据分组、模式识别和降维等领域。它通过将数据划分为K个簇,使得簇内相似度高而簇间相似度低。今天,我们就来深入探讨K均值聚类的原理、实现和应用…

LeetCode1287

LeetCode1287 目录 题目描述示例思路分析代码段代码逐行讲解复杂度分析总结的知识点整合总结 题目描述 给定一个非递减的整数数组 arr,其中有一个元素恰好出现超过数组长度的 25%。请你找到并返回这个元素。 示例 示例 1 输入: arr [1, 2, 2, 6, 6, 6, 6, 7,…

恒创科技:如何重新启动 Windows 服务器

重新启动 Windows 服务器对于应用更新、解决问题和维护系统性能至关重要。定期重新启动有助于确保服务器运行最新软件、解决冲突并清除临时文件。本教程将介绍如何使用不同的方法重新启动 Windows 服务器。 注意:重新启动服务器之前保存所有工作,以避免丢…

Django ModelForm使用(初学)

1.目的是根据员工表字段,实现一个新增员工的数据填写页面 2.在views.py文件中按下面的格式写 定义 ModelForm 类:UserModelForm (自己命名的类名)使用时需要导入包 定义视图函数:user_model_form_add(在函…

华为固态电池引发的思索

华为固态电池真牛! 超长续航:单次充电即可行驶3000公里 极速充电:五分钟内充满80% 极致安全:不可燃、不漏液 长寿命设计:循环寿命达10000次以上 如上是华为电池展示的优势项,每一条都让我们心动不已。…

美信监控易:运维新时代,守护数据安全

在 2025 年这个科技飞速发展的时代,数据安全已成为各行业关注的焦点。随着云计算、大数据、物联网等技术的不断推进,运维数据的保护面临着新的挑战与要求。美信时代公司的美信监控易运维管理软件,以其卓越的功能、特性和竞争力,为…

个人博客5年回顾

https://huangtao01.github.io/ 五年前,看程序羊的b站视频做的blog,受限于网络,只能单向学习,没有人指导与监督,从来没有想过,有没有什么问题? 一、为什么要做个人博客? 二、我是怎么…

Unity合批处理优化内存序列帧播放动画

Unity合批处理序列帧优化内存 介绍图片导入到Unity中的处理Unity中图片设置处理Unity中图片裁剪 创建序列帧动画总结 介绍 这里是针对Unity序列帧动画的优化内容,将多个图片合批处理然后为了降低Unity的内存占用,但是相对的质量也会稍微降低。可自行进行…

【Docker】容器被停止/删除的方式及命令:全面解析与实践指南

文章目录 引言一、容器的生命周期二、停止容器的命令及方式1. docker stop 命令2. docker kill 命令3. docker pause 和 docker unpause 命令4. docker restart 命令 三、删除容器的命令及方式1. docker rm 命令2. docker container prune 命令3. docker rm 与 docker rmi 的区…

大数据SQL调优专题——Flink执行原理

引入 上一篇我们了解了Spark,相比起MapReduce来说,它确实已经快了超级多了,但是人类的欲望是没有止境的,这也是推动人类进步的动力。 Flink就是为了满足实时响应的场景需求诞生的。 其实在Flink之前,实时处理其实已…

【Cocos TypeScript 零基础 16.1】

目录 FlappyBird背景其他心得_刚体audio部分 FlappyBird 本人没有按照老师的做法去做,大体差不多, 当然老师做的更精细,有些不会的还是参考老师的方法 参考部分 小鸟如何像真实物体一样的重力效果点击如何使小鸟飞翔 省略部分 3. 小鸟多动画(飞机大战其实有做,单纯偷懒) 4. …

CHARMM-GUI EnzyDocker: 一个基于网络的用于酶中多个反应状态的蛋白质 - 配体对接的计算平台

❝ "CHARMM-GUI EnzyDocker for Protein−Ligand Docking of Multiple Reactive States along a Reaction Coordinate in Enzymes"介绍了 CHARMM-GUI EnzyDocker,这是一个基于网络的计算平台,旨在简化和加速 EnzyDock 对接模拟的设置过程&…

腿足机器人之六- 前向运动学

腿足机器人之六- 前向运动学 刚体运动学基础坐标系定义旋转矩阵与欧拉角齐次变换矩阵(平移旋转的统一表示) 运动链建模串联运动链结构(从基座到末端的关节连接)标准Denavit-Hartenberg(D-H)参数法改进D-H参…

uni-app发起网络请求的三种方式

uni.request(OBJECT) 发起网络请求 具体参数可查看官方文档uni-app data:请求的参数; header:设置请求的 header,header 中不能设置 Referer; method:请求方法; timeout:超时时间,单位 ms&a…

【linux】更换ollama的deepseek模型默认安装路径

【linux】更换ollama的deepseek模型默认安装路径 文章目录 【linux】更换ollama的deepseek模型默认安装路径Ollama 默认安装路径及模型存储路径迁移ollama模型到新的路径1.创建新的模型存储目录2.停止ollama3.迁移现有模型4.修改 Ollama 服务配置5.重启ollama6.验证迁移是否成功…