江苏专业做网站的公司有哪些微网站建设对微网站进行策划

bicheng/2026/1/25 17:17:54/文章来源:
江苏专业做网站的公司有哪些,微网站建设对微网站进行策划,东莞关键词优化推广,查不到网站备案MySQL 主备的基本原理MySQL 主备切换流程.png主备同步流程图备库 B 跟主库 A 之间维持了一个长连接。主库 A 内部有一个线程#xff0c;专门用于服务备库 B 的这个长连接。一个事务日志同步的完整过程是这样的#xff1a;在备库 B 上通过 change master 命令#xff0c;设置…MySQL 主备的基本原理MySQL 主备切换流程.png主备同步流程图备库 B 跟主库 A 之间维持了一个长连接。主库 A 内部有一个线程专门用于服务备库 B 的这个长连接。一个事务日志同步的完整过程是这样的在备库 B 上通过 change master 命令设置主库 A 的 IP、端口、用户名、密码以及要从哪个位置开始请求 binlog这个位置包含文件名和日志偏移量。在备库 B 上执行 start slave 命令这时候备库会启动两个线程就是图中的 io_thread 和 sql_thread。其中 io_thread 负责与主库建立连接。主库 A 校验完用户名、密码后开始按照备库 B 传过来的位置从本地读取 binlog发给 B。备库 B 拿到 binlog 后写到本地文件称为中转日志(relay log)。sql_thread 读取中转日志解析出日志里的命令并执行。binlog 三种格式1. Row日志中会记录成每一行数据被修改的形式然后在 slave 端再对相同的数据进行修改。优点在 row 模式下bin-log 中可以不记录执行的 SQL 语句的上下文相关的信息仅仅只需要记录那一条记录被修改了修改成什么样了。所以 row 的日志内容会非常清楚的记录下每一行数据修改的细节非常容易理解。而且不会出现某些特定情况下的存储过程或 function 以及 trigger 的调用和触发无法被正确复制的问题。缺点在 row 模式下所有的执行的语句当记录到日志中的时候都将以每行记录的修改来记录这样可能会产生大量的日志内容比如有这样一条 update 语句UPDATE product SET owner_member_id b WHERE owner_member_id a执行之后日志中记录的不是这条 update 语句所对应的事件 (MySQL 以事件的形式来记录 bin-log 日志) 而是这条语句所更新的每一条记录的变化情况这样就记录成很多条记录被更新的很多个事件。自然bin-log 日志的量就会很大。尤其是当执行 alter table 之类的语句的时候产生的日志量是惊人的。因为 MySQL 对于 alter table 之类的表结构变更语句的处理方式是整个表的每一条记录都需要变动实际上就是重建了整个表。那么该表的每一条记录都会被记录到日志中。2. Statement每一条会修改数据的 SQL 都会记录到 master 的 bin-log 中。slave 在复制的时候 SQL 进程会解析成和原来 master 端执行过的相同的 SQL 再次执行。优点在 statement 模式下首先就是解决了 row 模式的缺点不需要记录每一行数据的变化减少了 bin-log 日志量节省 I/O 以及存储资源提高性能。因为他只需要记录在 master 上所执行的语句的细节以及执行语句时候的上下文的信息。缺点在 statement 模式下由于他是记录的执行语句所以为了让这些语句在 slave 端也能正确执行那么他还必须记录每条语句在执行的时候的一些相关信息也就是上下文信息以保证所有语句在 slave 端杯执行的时候能够得到和在 master 端执行时候相同的结果。另外就是由于 MySQL 现在发展比较快很多的新功能不断的加入使 MySQL 的复制遇到了不小的挑战自然复制的时候涉及到越复杂的内容bug 也就越容易出现。在 statement 中目前已经发现的就有不少情况会造成 MySQL 的复制出现问题主要是修改数据的时候使用了某些特定的函数或者功能的时候会出现比如sleep() 函数在有些版本中就不能被正确复制在存储过程中使用了 last_insert_id() 函数可能会使 slave 和 master 上得到不一致的 id 等等。由于 row 是基于每一行来记录的变化所以不会出现类似的问题。3. Mixed从 5.1.8 版本开始MySQL 提供了除 Statement 和 Row 之外的第三种复制模式Mixed实际上就是前两种模式的结合。在 Mixed 模式下MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式也就是在 statement 和 row 之间选择一种。新版本中的 statment 还是和以前一样仅仅记录执行的语句。而新版本的 MySQL 中对 row 模式也被做了优化并不是所有的修改都会以 row 模式来记录比如遇到表结构变更的时候就会以 statement 模式来记录如果 SQL 语句确实就是 update 或者 delete 等修改数据的语句那么还是会记录所有行的变更。循环复制问题通过上面对 MySQL 中 binlog 基本内容的理解你现在可以知道binlog 的特性确保了在备库执行相同的 binlog可以得到与主库相同的状态。因此我们可以认为正常情况下主备的数据是一致的。也就是说图 1 中 A、B 两个节点的内容是一致的。其实图 1 中我画的是 M-S 结构但实际生产上使用比较多的是双 M 结构也就是图 9 所示的主备切换流程。MySQL 主备切换流程 -- 双 M 结构.png对比图 9 和图 1你可以发现双 M 结构和 M-S 结构其实区别只是多了一条线即节点 A 和 B 之间总是互为主备关系。这样在切换的时候就不用再修改主备关系。但是双 M 结构还有一个问题需要解决。业务逻辑在节点 A 上更新了一条语句然后再把生成的 binlog 发给节点 B节点 B 执行完这条更新语句后也会生成 binlog。(我建议你把参数 log_slave_updates 设置为 on表示备库执行 relay log 后生成 binlog)。那么如果节点 A 同时是节点 B 的备库相当于又把节点 B 新生成的 binlog 拿过来执行了一次然后节点 A 和 B 间会不断地循环执行这个更新语句也就是循环复制了。这个要怎么解决呢从上面的图 6中可以看到MySQL 在 binlog 中记录了这个命令第一次执行时所在实例的 server id。因此我们可以用下面的逻辑来解决两个节点间的循环复制的问题规定两个库的 server id 必须不同如果相同则它们之间不能设定为主备关系一个备库接到 binlog 并在重放的过程中生成与原 binlog 的 server id 相同的新的 binlog每个库在收到从自己的主库发过来的日志后先判断 server id如果跟自己的相同表示这个日志是自己生成的就直接丢弃这个日志。

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

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

相关文章

像试淘网网站怎么建设北京小程序公司

MongoDB一直显示 Unrecognized option: storage try ‘mongod --help’ for more information 意思是我们配置的config文件出了问题。 说明:MongoDB采用的是YAML格式,所以我们只需要稍微改改就好。 在storage前面:没有空格 下面两行最前面…

大屯街道网站建设徐州建设企业网站

安装Visual studio 官方网址 https://visualstudio.microsoft.com/zh-hans/ 选择第一个社区版本(免费) 下载完成后打开安装包 安装完成后会自动打开程序选择c项目然后安装即可(c兼容c) 安装完成后启动程序注意这里需要注册也可…

网站主题选择google浏览器官网下载

准备工作 https://www.right.com.cn/forum/thread-161906-1-1.html https://breed.hackpascal.net/ 在第二个链接里下载路由器对应的breed固件,固件的说明见第一个链接,下文以极路由4为例演示 由于极路由官方挂了,无法进行root&#xff0…

如何通过做网站挣钱深圳网站建设服务中心

进程与线程 进程与线程:详细解析计算机的基本运作单位1. 进程:独立的执行环境1.1 进程的特点: 2. 线程:轻量级的执行单元2.1 线程的特点: 3. 区别和联系4. 表格 进程与线程:详细解析计算机的基本运作单位 在…

淄博免费网站建设哪家好前端网站开发实例

系列文章目录 文章目录 系列文章目录一、springboot常用的starter有哪些二、 SpringBoot 实现热部署有哪几种方式?三、如何理解 Spring Boot 配置加载顺序? 一、springboot常用的starter有哪些 spring-boot-starter-web 嵌入tomcat和web开发需要servlet…

python电商网站开发简历制作免费模板下载

最近还是在做一些和稳定性建设相关的事情,找到一份《分布式稳定性建设指南》文档,摘抄了其中的重点,以便后续回顾方便,一直没上传好资源,我之后再试试,原文内容质量非常高。 大家可以先看一级目录即可&…

zencart外贸网站建设免费seo教程

useCallback的主要使用场景在于优化性能,并确保当传递回调函数给子组件时,子组件不会因为父组件的重渲染而重新创建函数。 使用场景 1.当你需要将回调函数传递给子组件时,使用useCallback可以确保子组件在重新渲染时不会不必要地重新创建函数…

宿迁网站建设cy0001织梦怎么用模板建站

科技云报道原创。 最近,又一个概念火了——向量数据库。 随着大模型带来的应用需求提升,4月以来多家海外知名向量数据库创业企业传出融资喜讯。 4月28日,向量数据库平台Pinecone宣布获得1亿美元(约7亿元)B轮融资&am…

广东公司网站建设企业网站开发合同售后服务

xadmin后台在每一行记录增加一个复制链接按钮 1、效果 点击复制后,自动把url链接复制到粘贴板,按Ctrl+v即可显示复制内容。 2、实现代码 adminx.py # 用户管理 class UserWhiteListAdmin(object):search_fields = [name, mobile] # 检索字段list_display

泰安网站建设入门自媒体做什么领域比较好

1.1.1 需求分析 所谓高亮,就是使用特别的样式修饰某字段中包含的搜索关键字。 需求:实现搜索高亮,商品名称使用红色显示搜索关键字。 1.1.2实现思路 使用默认高亮显示来获取每个搜索命中title字段的高亮显示,在指定title字段的…

网站建设上机课小程序可以自己开发吗

引言:模块化与组件化的重要性 在现代软件开发中,随着项目规模的增长和技术的复杂性增加,如何有效地组织和管理代码变得越来越重要。模块化与组件化作为两种主要的代码组织方法,为开发者提供了有效的工具,帮助他们创建…

网站建设管理员角色设置wordpress链接微信

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 7.7 AdaDelta算法 除了RMSProp算法以外,另一个常用优化算法AdaDelta算法也针对AdaGrad算法在迭代后期可能较难找到有用解的…

网站开发自学还是培训wordpress 去掉左上角

顶级程序员的心得 –– Coders at Work说明:这篇文章是我 2010 年的原创,但是发现 csdn 的版本把格式全部搞坏了,原文在这里 我2009年读了 “Coders at Work”, 这是作者对15 位顶级程序员的采访, 总共600页。 从采访的模式看&…

自建站网站wordpress首页链接新标签打开

删除重复文件能够为电脑腾出很大的存储空间,不信?可以试试看哦! 电脑使用久了,都会积累大量的文件,这其中难免会出现重复的文件,这些重复文件没有任何作用,而且会占用着电脑的空间,…

濮阳网站建设通图片头像制作免费生成器

1.简介 双指针技巧是一种常见的算法解题方法,通过使用两个指针在数据结构上同时移动,可以解决多种问题。这种技巧通常适用于数组、字符串和链表等数据结构,下面我将详细介绍双指针技巧的特点和应用场景: 特点: 快慢…

页游网站wordpress网址导航插件

游戏开始后,随着音乐会给出不同的动作提示,用户按照提示摆出正确动作即可得分。援引官方说法,“尬舞机”主要应用了今日头条 AI Lab 自主开发的“人体关键点检测技术”,依靠这项技术,抖音能够检测到图像中所包含人体的…

西安网站建设收费标准网站建设捌金手指花总十

题目&#xff1a;一个3阶的数字矩阵如下&#xff1a; 1 2 3 8 9 4 7 6 5 现在给定数字n(1<n≤20)&#xff0c;输出n阶数字矩阵。 思路&#xff1a; 放出一条好玩的贪吃蛇&#xff0c;按照右下左上的顺序吃蛋糕&#xff0c;一边吃蛋糕&#xff0c;一边拉数字&#xff1b…

做ppt的动图下载哪些网站软件开发主要几个步骤

1. uniapp 本地存储的方式 在uniapp开发中&#xff0c;本地存储是一个常见的需求。本地存储可以帮助我们在客户端保存和管理数据&#xff0c;以便在应用程序中进行持久化存储。本文将介绍uniapp中本地存储的几种方式&#xff0c;以及相关的代码示例。 1.1. 介绍 在移动应用开发…

当地信息网站建设资质天津网站建设制作免费

Selenium怎么来的&#xff1f; Selenium这个词&#xff0c;是化学元素硒&#xff08;Se&#xff09;的意思。在软件测试领域&#xff0c;它是绝对的自动化测试开源项目的标杆。取这个名字也是有讲究的&#xff0c;在当时乃至如今的软件测试领域&#xff0c;QTP(UFT)占有率非常…

网站空间就是虚拟主机吗网站后台怎么做

最近&#xff0c;我在系统地学习大型语言模型&#xff08;LLM&#xff09;的相关知识。在这个学习过程中&#xff0c;我努力将所学的内容整理成博客文章。在这篇博客中&#xff0c;我首先简要介绍了人工智能的发展历史&#xff0c;然后探讨了大型模型的基本原理、训练方法、微调…