mysql-syn-数据库单项同步(主/从)

 

这几天在网上查找了许多资料,几乎全部是雷同的信息,经过一番测试作出如下结论,经过本人测试。

 

主从单向数据同步

1、数据库版本
    主数据库/从数据库    版本号5.0.24a

2、分别修改(主从)mysql安装目录-根目录下的配置文件【my.ini】

3、我的测试环境是这样的
    主数据库机器ip地址:192.168.1.120
    从数据库机器ip地址:192.168.1.119

4、主/从机器中的配置细节如下

    0)、start.
    1)、按照官方的提法主/从数据库配置文件my.ini中的server-id = (num)的值不能相同即可。
    2)、修改主数据库配置文件my.ini文件找到[mysqld]标识符(建议在添加以下代码之前首先创建号要同步的数据库),键入以下代码
        log-bin=mysql-testsyn-bin    #--主库二进制日志文件名的前缀(会在data目录中出现)
        binlog-do-db=syntest        #--要同步的数据库
        server-id = 1            #--serverid和从库不同即可
    3)、步骤2)执行完毕后重启mysql服务,root用户登录执行以下命令
        1、创建用户syntest.拥有replication slave权限
            grant replication slave on *.* to "syntest"@"192.168.1.%" identified by 'syntest' with grant option;
        2、在设置syntest用户 增删改查,等权限。
    4)、查看主库状态,使用mysql自带命令行
        show master status;
        +---------------------------------+----------+------------------+------------------------+
        | File                                    | Position | Binlog_Do_DB | Binlog_Ignore_DB |
        +---------------------------------+----------+------------------+------------------------+
        | mysql-testsyn-bin.000003 |      640 | syntest           |                               |
        +---------------------------------+----------+------------------+------------------------+
        1 row in set (0.01 sec)

        根据提示可以看出,
            file=表示同步使用的索引文件(文件后最默认是从000001开始)
            position=偏移量
            Binlog_Do_DB=备份的数据库
            Binlog_Ignore_DB=忽略的数据库
        经过测试、如果从步骤 2)-3)配置完后当执行步骤4)时如果没有结果说明配置失败.
    5)、修改从数据库配置文件my.ini文件找到[mysqld]标识符(建议在添加以下代码之前首先创建号要同步的数据库),键入以下代码
        server-id = 2            #--serverid和主库不同即可
        master-host = 192.168.1.120    #--主机ip地址
        master-user = syntest        #--主机登录用户名
        master-password = syntest    #--主机登录密码
        master-port = 3306        #--主机端口
        master-connect-retry = 5    #--重试间隔时间(秒)
        replicate-do-db = syntest    #--同步db
    6)、步骤5)执行完毕后重启mysql服务,root用户登录执行命令
        show SLAVE status;
    7)、执行以下代码
        stop slave;
        start slave;
    8)、在主数据库中创建一张表(需要使用代码的方式创建表),在看从数据库.
    9)、end.

 

5、如何正确的使用同步,以下是测试到的步骤(同仁如有其它测试结果请一并贴出来 )
    1)、主从配置完后需要测试
        1、查看data目录下的(*.err)文件如果没有出现[ERROR]字符说明通信成功,从数据库中data目录.
        2、主从库中分别创建一张一模一样的表,注意第一次创建测试是否已通信成功,不能使用MySQL-Front等工具创建,不吃这一套;得用代码创建.
        3、与步骤2同时在写一个insert添加语句执行。
        4、查看以上2-3步骤皆为在主库中执行,于此同时查看从书库,如果有一模一样的数据则说明通信成功.
    2)、主/从双方的库中表保持一致,此时创建一张“临时表”作为测试是否通信.
        在保持一致的同时从库中表的内容不能与主表中的内容不一致
        【
            例如:test表在主从中同时出现,id字段将从1开始,地址从表中已经有了一条记录,说明占用了id为1值,此时在主库中表test添加一条记录
            id同时也是1,这时就通信失败了,由于数据库表字段唯一标识因此导致通信失败,则1、删除从表中的记录;2、必须重启服务,才能挽救通信.
        】
    3)、如果主从库中的配置---配置完成在启动mysql服务之前先删除data目录中的日志等文件,除了“目录”,“ibdata1”文件外其余全部删除.
    4)、在通信测试未成功之前不能使用工具创建表,添加记录等操作,第一次必须使用代码的形式来创建执行;通信成功后方可使用工具执行.
    5)、一旦通信成功切忌双方中data目录中的文件不能随意打开,原因:“由于mysql服务一旦启动则会自动根据设定的时间通信,如果打开索引等文件则就占用了IO流操作,固因此
        服务会自动终止通信(需要重启才能拯救).



6、同步实现大概的流程(同仁如有其它不同的看法与流程图,敬请贴出来交流 )

    1、主/从双方修改配置文件,通过某种通信两台机器知道谁是“主”,谁是“从”.
    2、查找“主”方是否配置成功,使用代码 show MASTER status;所返回的结果中记录了关于同步时所使用到的索引文件;根据log-bin=[文件前缀名称].00001,每重启一次则后面的编号会自动加一.
    3、“从”数据库机器mysql服务启动时根据配置信息找到主数据库,将会根据“主” show master status中的file字段信息,生成4个文件分别如下:
        第一次配置成功启动:
            *-relay-bin.000001(*号代表本机的“计算机名称”)
            *-relay-bin.index
            master.info
            relay-log.info
        第二次启动
            *-relay-bin.000001后面的编号会变
        以上提到的文件作用流程如下:
            1、“从”服务器启动mysql服务时,根据配置文件信息找到“主”服务器,根据 show master status 中的file字段信息首先创建master.info文件,记录了关于
            链接“主”服务器的参数配置信息,其中最主要的一条是:“以字段file的值”记录,
            2、其次创建relay-log.info文件,其中主要是记录以master.info文件中“以字段file的值”的一个关联.于此同时记录该文件与*-relay-bin.index文件的关联
            3、再次通过文件*-relay-bin.index中的记录在创建具体操作文件就是:(*-relay-bin.000001)索引文件.
            4、每次通信会将“主”服务器上的索引文件内容当下来存放在*-relay-bin.00000num索引文件中,同时,执行“主”最近更新的数据,到“从”服务器中.
    4、最简单的理解就是:
        1、“主”服务器启动后生成索引文件,用于记录对数据库更新的sql语句.
        2、“从”服务器启动后会根据“主”服务器上的索引文件生成本地索引文件,用于记录从“主”服务器上当下来的数据.
        3、“从”服务器根据设定的时间间隔从“主”服务器上抓取数据,然后在执行,最后成为本地数据.
    5、如图:
        流程图    /查看“流程图”目录.
        ... ...


        本流程图是根据以上实现步骤的实现,总结出自己对数据同步的流程图,同志们方可参考,如有不对的地方,请与我来信(594131528@qq.com),如果可以的话,提出修改建议等。。。谢谢合作。

感兴趣者请查看附件、其中包含了本人的理解,在测试中遇到了那些问题,等等。。。

 

从零构建智慧农业监测终端:STM32数据采集与LoRa组网实战 本文详细介绍了如何从零构建智慧农业监测终端,涵盖STM32数据采集与LoRa组网实战。通过DHT22温湿度传感器和YL-69土壤湿度传感器实现精准环境监测,结合LoRa无线传输技术解决偏远农田信号问题。文章还分享了硬件选型、电路设计、低功耗优化及Flutter跨平台应用开发等关键技巧,助力农业智能化升级。 阅读详情

相关推荐

PCB 传输线教程(上):基于 Polar Si9000 与嘉立创工艺的传输线设计

理论线宽是W1,但在实际制作时,铜线顶部会有部分被刻蚀掉,表面被刻蚀后的宽度表示为W2,一般取经验值W2=W1-1,单位为 mil,Si9000 里面默认也是采用 W1,W2 相差 1 mil 的方式进行计算。表面阻抗结构就是简单的在一个平面上走信号线,以另外一个平面为地平面,信号线所在平面不进行铺铜(或铺铜间距大到可以忽略不计),这是最简单的一种结构,只需要知道介质层的厚度和介电常数、信号线厚度就可以进行阻抗计算。这个也是经验值,一般保持默认,或者可以填入 C1 相同的值(即忽略堆积)。

Surrea1的博客 1万+

mysql同步大师_Mysql 同步大师(MySQLSync)

详情相关评论(0)MySQL同步工具使用说明:一、安装好MYSQL,建立所需数据库,停止所有的MYSQL服务器。二、请把下面六行加入到每一个需要同步的MYSQL的my.ini文件中,其中backup_db填写你真实的需要同步的数据库,server-id代表服务器编号,要求每个服务器的编号不能相同,以1,2,3....等数字顺序排列:server-id=1 #服务器编号.log-bin=c:\mys...

weixin_39627201的博客 512

分类模型AUC低于0.5?5个常见坑点排查指南(附代码示例)

本文针对分类模型AUC低于0.5的常见问题,提供了5个关键排查点及代码示例。从样本分布失衡、特征与标签脱节到量纲差异、模型初始化和数据泄露,详细解析了可能导致AUC异常的原因,并给出实用的诊断方法和解决方案,帮助开发者快速提升模型性能。

weixin_29190169的博客 238

mysql半同步 syn点位_说说MySQL的半同步复制

MySQL Semisynchronous ReplicationMySQL5.5 除了支持内置的异步复制机制,还提供了接口支持半同步复制的机制。在mysql异步复制的情况下,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master Sever就自动返回数据给客户端,而不管slave上是否接受到了这个二进制日志。在半同步复制的架构下,当m...

weixin_32081079的博客 160

基于CY7C68013A芯片的USB2.0设计

基于FPGA的USB2.0读写控制项目简介CY7C68013A芯片介绍CY7C68013A芯片读写时序控制CY7C68013A芯片读写代码USB2.0的测试结果结束语 项目简介 我们前面已经写过了USB3.0的FPGA实现,所用到的芯片是FX600Q芯片,这次我们讲解USB2.0的FPGA代码的编写。我们用到的芯片是Cypress厂家的Cy7C68013A,该款芯片在市场上的应用率极广,我们这里不...

zhangningning1996的博客 1万+

迪文DGUSII串口屏中文显示实战:手把手教你制作16x16点阵字库

本文提供了一份迪文DGUSII串口屏16x16点阵中文字库制作的完整实战指南。从显示原理、字体选择与参数设置,到使用FontLib Make工具生成字库文件,再到部署、调用及存储空间优化,手把手教你解决中文显示难题,确保界面文字既美观又稳定。

weixin_29190573的博客 152

mysql linux-syn25000是什么_mysql-syn-数据库单项同步(主/从)

这几天在网上查找了许多资料,几乎全部是雷同的信息,经过一番测试作出如下结论,经过本人测试。主从单向数据同步1、数据库版本主数据库/从数据库 版本号5.0.24a2、分别修改(主从)mysql安装目录-根目录下的配置文件【my.ini】3、我的测试环境是这样的主数据库机器ip地址:192.168.1.120从数据库机器ip地址:192.168.1.1194、主/从机器中的配置细节如下0)、st...

weixin_39653448的博客 153

WRFDA如何读取风云四号A 星的GIIRS数据?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1023

【MySQL】MySQL学习笔记

【MySQL】MySQL学习笔记学习笔记前言目录概览笔记MySQL 的特性、安装MySQL 的特性MySQL 安装MySQL 基本操作0. 几种操作MySQL 的方式workbenchNavicat for MySQL命令行操作python 学习笔记 前言 在完成python-socket-GNSS&PIC 融合传输后,现在需要将服务端假设到阿里云服务器上,并完成数据库的存储。 目录概览 在学习一门新技术前,通常会先浏览它的目录,以此先掌握技术的大概结构,这样有助于安排学习规划、侧重重点等,可以更快

synjoker的博客 398

把 LLM 编排能力塞进 ABAP 系统里,ZLLM 仓库的工程价值与 SAP 落地场景

ZLLM项目将LLM应用开发中的常见工程问题引入ABAP原生环境,为SAP系统提供AI工作流构建能力。它类似ABAP版的LangChain,支持Chain组合、Prompt模板、状态传递等核心功能,强调纯ABAP实现、延迟执行以及与ABAP数据结构的深度集成。项目包含工厂类、LLM客户端、负载均衡器等模块,特别设计了能处理ABAP内表和结构的模板引擎,使业务数据可直接用于Prompt生成。通过Step和Flow机制支持复杂业务过程编排,并采用延迟执行和并行处理优化批量任务性能。该项目为ABAP开发者提供了在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 61

网络工程师教程第6版(2024年最新版)

本书 根据《网络工程师考试大纲》(2024年审定通过)编写,对网络工程师岗位所要求的主要知 识及应用技术进行了阐述。本书主要内容包括数据通信、局域网、无线通信网、网络互连、网络安全、网络操作系统与应用服务器、组网技术、网络管理、网络规划和设计。本书是参加网络工程师考试的必备教材,也可作为网络工程从业人员学习网络技术的教材或日常工作的参考用书。王涛和严体华编写了第2章、第3章和第4章;网络工程师教程(第6版)由清华大学出版社出版,由工业和信息化部教育与考试中心组编,张永刚、王涛、高振江任主编,具体介绍如下。

鹿鸣天涯 6901

mysql半同步 syn点位_基于MySQL实现数据库的半同步主从复制

在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件首先我们来了解一下数据库常遇到的问题:第一就是性能上的问题1、向上拓展(硬件方面)scale up 个体本身 容易达到极限2、向外拓展scale out第二就是可用性的问题1、数据库服务中断2、误操作数据损坏3、硬件故障4、数据库升级测试遭遇bug5、******基于以上这些问题就有了一个比较好的解决方案,那就是实现数...

weixin_32001191的博客 183

Python-编写点云处理软件(二)点云软件ui制作之仿CC界面

至本篇结束,我们已经能够获得一个有点模子的界面了,但是具体的功能还没有编写,后续的文章将逐渐完善功能。

weixin_43894929的博客 3953

mysql半同步 syn点位,MYSQL数据库的主从复制,半同步复制和组复制

在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件原理:master端产生一个binlogdump线程,slave端产生I/O线程和SQL线程1.master节点上的binlogdump线程,在slave与其正常连接的情况下,将binlog发送到slave上。2.slave节点上的I/O线程,通过读取master节点发送的内容,并将数据复制到本地的relaylog中。...

weixin_33895652的博客 183

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

当MySQL数据库遇到Syn Flooding

Syn攻击是最常见又最容易被利用的一种攻击手法,利用TCP协议的缺陷,发送大量伪造TCP连接请求,常用假冒的IP发来海量的SYN包,被攻击的服务器回应SYN+ACK,因为对方是假冒的IP,永远收不到包并且不会回应,导致被攻击服务器保持大量SYN_RECV状态的半连接,并且会重试默认5次回应握手包,塞满TCP等待连接队列,资源耗尽,让正常的业务请求连接不进来。 Syn攻击常见于应用服务器,...

die7030的博客 239

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

mysql linux-syn25000是什么_当MySQL数据库遇到Syn Flooding

Syn攻击是最常见又最容易被利用的一种攻击手法,利用TCP协议的缺陷,发送大量伪造TCP连接请求,常用假冒的IP发来海量的SYN包,被攻击的服务器回应SYN+ACK,因为对方是假冒的IP,永远收不到包并且不会回应,导致被攻击服务器保持大量SYN_RECV状态的半连接,并且会重试默认5次回应握手包,塞满TCP等待连接队列,资源耗尽,让正常的业务请求连接不进来。Syn攻击常见于应用服务器,而数据库服务...

weixin_33552698的博客 109

MYSQL DB SYN

2down vote In mysql, you run these commands on your DB handle before running your queries the tables will auto lock : begin work; You then run your queries or have code igniter run your variou

xak的专栏 1119

mysql->redis同步

hello,大家好,今天看到一篇redis相关的文章,我自己专门把代码搞到跑了一下,还是不错的,对于我们平时使用redis和mysql同步还是很不错的,工作中也是可以去使用的,因为这个确实会比我们去使用代码的方式去读取数据库再次插入到redis中,效率会高的多。 1.开发环境 开发环境:linxu 开发语言:C/C++ mysql 使用的库:hiredis 2.redis通信协议 (1...

Travelerwz的博客 1084

mysql linux-syn25000是什么_解决当MySQL数据库遇到Syn Flooding问题

Syn攻击是最常见又最容易被利用的一种攻击手法,利用TCP协议的缺陷,发送大量伪造TCP连接请求,常用假冒的IP发来海量的SYN包,被攻击的服务器回应SYN+ACK,因为对方是假冒的IP,永远收不到包并且不会回应,导致被攻击服务器保持大量SYN_RECV状态的半连接,并且会重试默认5次回应握手包,塞满TCP等待连接队列,资源耗尽,让正常的业务请求连接不进来。Syn攻击常见于应用服务器,而数据库服务...

weixin_34194520的博客 193

MySQL实现数据同步

这套脚本实现:核心文件:3 个 2. 核心同步逻辑: 3. 工具类: 三、配置表结构(必须创建) 库: 表: 四、最关键配置说明(决定是否同步) 1. 是否启用同步 2. 按哪个时间字段同步 3. 从哪个时间开始同步 同步完成后会自动更新为当前日期,所以第二遍不会重复同步。

Java资料站 483

Galera集群:高可用MySQL同步复制方案

GaleraCluster是一个基于同步复制的多主数据库集群解决方案,主要支持MySQL/MariaDB。其核心特性包括:真正的多主架构(所有节点可读写)、强一致性保障(同步复制机制)和自动故障转移能力。关键技术实现包含WSREPAPI的事务写集管理和冲突检测机制,以及底层GCP的通信保障。典型应用场景为金融、电商等高可用性要求的系统。部署时需注意网络配置、性能调优和脑裂预防,建议采用奇数节点、监控系统和定期演练。该方案适合中等写入负载(<5000TPS)且需要强一致性的关键业务系统。

weixin_46060074的博客 1442

数据库数据同步和主主同步脚本使用说明

数据库数据同步和主主同步脚本使用说明 1.脚本目录介绍 startDataBaseSync.sh 数据库数据同步,保证配置主主前两台服务器数据库的数据一致。 startMasterSync.sh mysql主主同步脚本 checkSlaveStatus.sh 检测主主同步状态 config.sh 执行脚本所需要的配置 2.config....

qq_35853840的博客 612

mysql 主从怎么监控_如何监控MySQL主从同步情况

在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成网站正常运行的重要环节。 MySQL同步功能由3个线程(master上1个,slave上2个)来实现,简单的说就是:master发送日志一个,slave接收日志一个,slave运行日志一个。首先,我们解释一下show sla...

weixin_39785400的博客 395

Redis与mysql同步之路

【java】gearman进行Mysql到Redis的复制 一.整体思路说明 以mysql数据为主,写操作(insert,update,delete)交于mysql,读操作交于redis。当数据库数据发生改变时,通过Mysql触发器(insert,update,delete)异步调用gearman的UDF提交一个job给job server(可以由PHP,也可以用java),当执行jo

shenbug的博客 2229
上一篇: 创建CSV文件
下一篇: Firefox 快捷键列表
libgcn
博客等级 码龄16年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值