我前段时间部署mysql的主从复制和读写分离机制遇到一些情况在AI的指导下最终顺利克服以下是一些记录。1、数据库版本问题主库和从库的版本需要一致。如果不一致可以接受的情况是主低从高主库版本比从库低。比如我这个项目里主库是mysql8.0.38而从库是mysql8.0.43。如果反过来主高从低恐怕会发生不忍言之事。2、proxysql利用proxysql来实现读写分离主库写入从库读取。在我们项目中proxysql部署在从库服务器的docker容器里。使用proxysql的好处是代码不用修改只需要改一下数据库连接串。原本直接指向mysql现在连接串指向proxysql。proxysql会拦截sql分流到主库或从库。1spring boot项目中的连接串spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://192.168.10.249:6033/testdb?characterEncodingutf-8useSSLfalseserverTimezoneHongkongallowPublicKeyRetrievaltrueusername:workpassword:123456# 你的数据库密码这个192.168.10.249:6033就是proxysql的地址。2proxysql配置文件admin_variables{admin_credentialsadmin:adminmysql_ifaces0.0.0.0:6032}mysql_variables{threads8max_connections4096default_query_delay0default_query_timeout36000000have_compresstruepoll_timeout2000interfaces0.0.0.0:6033default_schemainformation_schemastacksize1048576server_version8.0.38monitor_usernamemonitormonitor_passwordmonitormonitor_history60000monitor_connect_interval2000monitor_ping_interval1000monitor_replication_lag_interval1000monitor_replication_lag_fail_count5}mysql_servers({hostname172.16.10.121, port3306, hostgroup_id0, weight1000, max_connections1000},{hostname172.17.0.1, port3306, hostgroup_id1, weight1000, max_connections1000, max_replication_lag90},{hostname172.16.10.121, port3306, hostgroup_id1, weight1, max_connections1000})mysql_users({usernamework, password123456, default_hostgroup0, active1})mysql_query_rules({rule_id1, active1, match_pattern^SELECT.*FOR UPDATE$, destination_hostgroup0, apply1},{rule_id2, active1, match_pattern^SELECT, destination_hostgroup1, apply1})其中172.16.10.121是主库172.17.0.1是从库。解读如果该从库的同步延迟Replication Lag超过了 90 秒ProxySQL 会选择临时“抛弃”它不再分配任何读流量给它。 由于 ProxySQL 配置了读写分离的主机组Hostgroup当从库被“抛弃”后流量自然就会被迫全部涌向主库。这是一种防御机制避免从库宕机影响整个应用。但如果是主库宕机呢不知道。{hostname172.17.0.1, port3306, hostgroup_id1, weight1000, max_connections1000, max_replication_lag90}3、主从复制的级别默认是mysql实例级别在主库添加用户、创建库最终都会同步到从库。由于从库只用于读取那么只在从库创建比如创建一个视图和账号给第三方。这是可以的隐患是如果某一天主库也创建了相同名字的东东就会引起冲突。所以最好一律在主库创建。4、看懂 SHOW SLAVE STATUS\G;在从库上看看从库状态。seconds_behind_master是从库同步的滞后时间。我刚设置主从复制时这个数字飙升到几十万。原因是有几个分区表索引设置得不对导致从库同步时严重滞后。后来暂停主从复制重建主库索引。经过一段挣扎时间终于恢复正常。正常情况下这个数字就是几十然后回复为0。具体方法是登录mysql后输入SHOW SLAVE STATUS\G;然后回车。5、设置从库只读在从库上执行SET PERSIST super_read_onlyON;检查是否生效SHOW VARIABLES LIKE%read_only%;6、防止重放冲突如果从库突然断电后重启有可能出现将本已同步到从库的数据重复插入。为防止此类错误需要设置relay_log_recovery ON具体方法为修改mysql-server.cnf将relay_log_recovery ON 写到文件末尾或修改原来的OFF值。[worklocalhost ~]$sudocp/etc/my.cnf.d/mysql-server.cnf /etc/my.cnf.d/mysql-server.cnf.20261030[sudo]work 的密码[worklocalhost ~]$vi/etc/my.cnf.d/mysql-server.cnf[worklocalhost ~]$sudovi/etc/my.cnf.d/mysql-server.cnf[worklocalhost ~]$sudosystemctl restart mysqld[worklocalhost ~]$ mysql-uroot-pEnter password: Welcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis24Server version:8.0.38 Source distribution Copyright(c)2000,2024, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysqlSHOW VARIABLES LIKErelay_log_recovery;---------------------------|Variable_name|Value|---------------------------|relay_log_recovery|ON|---------------------------1rowinset(0.01sec)relay_log_recovery ON 的副作用是有可能会导致从库丢失数据。但这仅仅是理论上的。relay_log_recovery ON意思是数据库启动后会丢掉本机上没有标记为完成的同步操作文件不信任它向主库重新要一份。因此可以有效避免重放冲突。但如果从库断电的时间够长主库当时的日志已经没有了那从库就没有这部分数据了。不过日志默认保留30天应该不会有这么长。
企业数字化 ERP 产品动态
相关推荐
从verts到.obj:WiLoR输出数据格式全解读,AR手部交互与3D资产开发实战 【免费下载链接】WiLoR WiLoR: End-to-end 3D hand localization and reconstruction in-the-wild 项目地址: https://gitcode.com/gh_mirrors/wi/WiLoR 点击查看 免费下载 WiLoR 是一个端到端的 3D 手部定位与重建模型(CVPR 2025)ÿ… · 2026/11/3 1:41:19
Sunshine 游戏串流主机一次跑通:装好、连通首条串流并调好常见参数 Sunshine 游戏串流主机一次跑通:装好、连通首条串流并调好常见参数 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一个自托管游戏串流主机:装在… · 2026/11/15 1:07:25
第二篇:ArkUI 首页与学习中心实战:让教育应用入口更清晰、更容易通过审核 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 2:46:42
张集特种工培训考试在哪考?学历不高也能考出好未来 张集特种工培训考试在哪考?学历不高也能考出好未来 你是不是也担心自己学历不高,怕报不了名?别慌, 张集特种工培训考试 根本不看你学历高低,只要你符合条件, 在哪考… · 2026/11/15 18:54:44
工地太忙根本没时间复习考试?真实经历告诉你报考电工证有什么好处 工地太忙根本没时间复习考试?真实经历告诉你报考电工证有什么好处 我去年在郑州工地干电焊工,天天跟钢筋水泥打交道,手上的老茧是真厚。但说实话,那次差点因为没电工证被罚了一笔不小的款,才知道这证不是摆设。今天就跟你唠唠, 报考电工证有什么好处… · 2026/11/15 18:54:44
在企业上班的电工证值不值得考 在企业上班的电工证值不值得考 你是不是也遇到过这种情况?在企业上班,领导突然让你去考个电工证,你一脸懵: 不知道去哪报名怕被中介坑 ,这证到底有没有用?值不值得考?今天我就结合济源水利工程从业者的真实案例,说说这事儿,看完你就明白了。… · 2026/11/15 18:54:44
电工证复审了哪里可查?学历不高怕报不上名?这几点必须知道 电工证复审了哪里可查?学历不高怕报不上名?这几点必须知道 你是不是也担心自己学历不高,连电工证都报不上?别急, 上岗必备 的电工证复审其实没你想的那么难,关键是要知道怎么查、怎么办、怎么保值。今天咱们就从新乡一名在职建筑工人的角度,聊聊电工… · 2026/11/15 18:54:44
电工证渭南培训学校官方回应:怕考不过白交培训费?这波操作帮你省下冤枉钱 电工证渭南培训学校官方回应:怕考不过白交培训费?这波操作帮你省下冤枉钱 怕考不过白交培训费?这是很多在渭南参加电工证培训的朋友最担心的问题。最近,一位来自商丘的公路工程从业者小李就因为这个原因,差点错过了一次重要的项目机会。而官方回应显示,… · 2026/11/15 18:54:44
电工证去哪儿考好呢真实经历:怕考不过白交培训费,千万别踩这些坑 电工证去哪儿考好呢真实经历:怕考不过白交培训费,千万别踩这些坑 去年我带的班组里有三个小伙子,跟着我干了两年,手艺不差,但就是一直没拿到低压电工证。后来他们一起报了一个培训机构,交了三千多块培训费,结果考试一塌糊涂,一个没过,两个挂科。他们… · 2026/11/15 18:53:44
长春初级电工证怎么考?通过率揭秘全在这里 长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50
国内电工证报考条件与考试时间 低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50
电工作业时如何断电?电子证书到底能不能全国通用? 电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50
长春初级电工证怎么考?通过率揭秘全在这里 长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50
国内电工证报考条件与考试时间 低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50
电工作业时如何断电?电子证书到底能不能全国通用? 电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05