news 2026/5/12 1:12:33

MySQL主从复制如何实现读写分离_利用ProxySQL进行流量分发

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL主从复制如何实现读写分离_利用ProxySQL进行流量分发

ProxySQL 启动后连不上 MySQL 主从集群,需检查 mysql_servers 表的 hostgroup_id(主库设为0、从库设为1)、status(均为'ONLINE')、weight、max_replication_lag 及 monitor 用户权限,并执行 LOAD/SAVE 操作生效配置。ProxySQL 启动后连不上 MySQL 主从集群?检查 mysql_servers 表的 hostgroup_id 和状态ProxySQL 不会自动识别主从角色,它只按你配置的 hostgroup_id 分发流量。常见错误是把主库和从库都塞进同一个 hostgroup_id,结果读请求打到主库、写请求也打到从库——根本没分离。实操建议:主库必须配置在 hostgroup_id = 0(默认写组),status = 'ONLINE',且 weight 设得足够高(比如 1000)从库统一配在 hostgroup_id = 1(默认读组),status = 'ONLINE',weight 可设为 100 或按负载调整务必执行 LOAD MYSQL SERVERS TO RUNTIME 和 SAVE MYSQL SERVERS TO DISK,否则配置不生效用 SELECT * FROM mysql_servers 确认 max_replication_lag 是否设为合理值(如 30),否则延迟大的从库仍会被选中读写分离规则没生效?重点查 mysql_query_rules 的 match_digest 和 destination_hostgroupProxySQL 靠正则或 digest 匹配 SQL 来决定路由,不是靠语法解析。很多用户以为 SELECT 开头就走读组,结果发现 SELECT FOR UPDATE 也被发到从库——因为规则里只写了 ^SELECT,没排除带锁的语句。实操建议:写规则优先匹配明确的写操作:match_digest = '^INSERT ' | '^UPDATE ' | '^DELETE ' | '^REPLACE ' → destination_hostgroup = 0读规则要排除干扰:match_digest = '^SELECT ' | '^WITH ' → destination_hostgroup = 1,但必须加 negate_match_pattern = 1 并另配一条规则拦截 SELECT.*FOR UPDATE 回写组apply = 1 必须设对,否则规则不启用;sticky_conn = 1 在事务中可避免主从切换导致的报错规则顺序很重要:ProxySQL 从上到下匹配,写规则必须排在读规则前面应用连 ProxySQL 后出现 ERROR 9001 (HY000): Max connect timeout reached while reaching hostgroup 1这不是网络不通,而是 ProxySQL 尝试连接从库时超时,通常因为从库不可达、MySQL 用户权限不足,或从库启用了 skip_networking。 幻导航网 发现优质实用网站,开启网络探索之旅!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 1:12:32

多模态AI编程实践:基于视觉理解的代码生成工具架构与实现

1. 项目概述:一个能“看懂”图片的代码生成工具最近在GitHub上看到一个挺有意思的项目,叫hermes-codex-image-skill。光看名字,你可能会觉得它和“爱马仕”或者“赫尔墨斯”有什么关系,其实这里的“Hermes”指的是一种大型语言模型…

作者头像 李华
网站建设 2026/5/12 1:05:50

手把手教你用Hexdump和od命令“透视”Nachos文件系统磁盘布局

用Hexdump和od命令解密Nachos文件系统的磁盘布局 从二进制视角理解文件系统 当我们谈论文件系统时,大多数人首先想到的是目录树、文件读写等高层概念。但真正理解文件系统的工作原理,需要深入到磁盘的二进制层面。Nachos作为一个教学用操作系统&#x…

作者头像 李华
网站建设 2026/5/12 1:02:35

大数据技生态中Hadoop、Spark、Hive、HDFS之间的区别

Hadoop、Spark、Hive三者都是大数据相关的系统和技术,也属于数据管理系统的范畴,常见的问题无非就两个:1、数据怎么存;2、数据怎么算。为了方便理解这些技术,从单机时代来说,所有的数据都在一套服务器上&am…

作者头像 李华