数据库系列之MySQL基于proxySQL实现读写分离

mysql中间件proxysql实现mysql读写分离 mysql实现读写分离的方式 mysql 实现读写分离的方式有以下几种: 程序修改mysql操作,直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配,需要开发人员协助。 amoeba,直接实现读写分离和负载均衡,不用修改代码,有很灵活的数据解决方案,自己分配账户,和后端数据库权限管理独立,权限处理不够灵活。 mysql-proxy,直接实现读写分离和负载均衡,不用修改代码,master和slave用一样的帐号,效率低 mycat中间件 proxysql中间件(推荐使用) Pro 阅读详情

MySQL主从复制读写分离的实现有很多种,比如使用中间件mysql-proxy、proxysql和mycat三种中间件实现读写分离并进行测试验证。本文主要讨论基于proxySQL中间件实现读写分离:

数据库系列之MySQL基于MySQL-proxy实现读写分离
数据库系列之MySQL基于proxySQL实现读写分离
数据库系列之MySQL基于Mycat实现读写分离


1.2 基于proxySQL
1.2.1 ProxySQL介绍

ProxySQL是基于MySQL的一款开源的中间件的产品,是一个灵活的 MySQL代理层,可以实现读写分离,支持Query路由功能,缓存查询结果、故障切换和一些SQL的过滤功能。

1.2.2 安装配置ProxySQL

1)安装ProxySQL,使用yum源安装

cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
[proxysql_repo]
name= ProxySQL
baseurl=https://repo.proxysql.com/ProxySQL/proxysql-2.0.x/centos/7
gpgcheck=1
gpgkey=https://repo.proxysql.com/ProxySQL/repo_pub_key
EOF

yum安装

[root@tango-01 ~]# yum install -y proxysql 
[root@tango-01 ~]# systemctl start proxysql
[root@tango-01 ~]# netstat -nltp|grep proxysql
tcp        0      0 0.0.0.0:6032            0.0.0.0:*               LISTEN      5755/proxysql       
tcp        0      0 0.0.0.0:6033            0.0.0.0:*               LISTEN      5755/proxysql

2)在192.168.112.101(主库)上添加proxysql可以增删查改的账号

[mysql@tango-centos01 mysql]$ ./bin/mysql -uroot -ppassword
mysql> grant all on *.* to 'proxysql'@'192.168.112.%' identified by 'password';
Query OK, 0 rows affected, 1 warning (0.41 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.27 sec)

3)登录proxysql管理端,默认端口6032

[root@tango-01 mysql]# ./bin/mysql -uadmin -padmin -h127.0.0.1 -P6032
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.30 (ProxySQL Admin Module)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+-----+---------------+-------------------------------------+
| seq | name          | file                                |
+-----+---------------+-------------------------------------+
| 0   | main          |                                     |
| 2   | disk          | /var/lib/proxysql/proxysql.db       |
| 3   | stats         |                                     |
| 4   | monitor       |                                     |
| 5   | stats_history | /var/lib/proxysql/proxysql_stats.db |
+-----+---------------+-------------------------------------+
5 rows in set (0.00 sec)

mysql>

4)使用insert语句添加mysql主机到mysql_servers表中,其中:hostgroup_id=1表示写组,2表示读组

mysql> use main;
mysql> insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(1,'192.168.112.101',3306,1,'Write Group');
Query OK, 1 row affected (0.00 sec)

mysql> insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(2,'192.168.112.102',3306,1,'Read Group');
Query OK, 1 row affected (0.00 sec)

mysql> insert into mysql_servers(hostgroup_id,hostname,port,weight,comment) values(2,'192.168.112.103',3306,1,'Read Group');
Query OK, 1 row affected (0.00 sec)

mysql> select * from mysql_servers;
+--------------+-----------------+------+-----------+--------+--------+-------------+-----------------+---------------------+---------+----------------+-------------+
| hostgroup_id | hostname        | port | gtid_port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment     |
+--------------+-----------------+------+-----------+--------+--------+-------------+-----------------+---------------------+---------+----------------+-------------+
| 1            | 192.168.112.101 | 3306 | 0         | ONLINE | 1      | 0           | 1000            | 0                   | 0       | 0              | Write Group |
| 2            | 192.168.112.102 | 3306 | 0         | ONLINE | 1      | 0           | 1000            | 0                   | 0       | 0              | Read Group  |
| 2            | 192.168.112.103 | 3306 | 0         | ONLINE | 1      | 0           | 1000            | 0                   | 0       | 0              | Read Group  |
+--------------+-----------------+------+-----------+--------+--------+-------------+-----------------+---------------------+---------+----------------+-------------+
3 rows in set (0.00 sec)

mysql>

#修改后,需要加载到RUNTIME,并保存到disk

mysql> load mysql servers to runtime;
Query OK, 0 rows affected (0.00 sec)

mysql> save mysql servers to disk;
Query OK, 0 rows affected (0.18 sec)

5)在proxysql主机的mysql_users表中添加刚才在master上创建的账号proxysql,proxysql客户端需要使用这个账号来访问数据库。default_hostgroup默认组设置为写组,也就是1,当读写分离的路由规则不符合时,会访问默认组的数据库。

mysql> insert into mysql_users(username,password,default_hostgroup,transaction_persistent) values('proxysql','password',1,1);
Query OK, 1 row affected (0.00 sec)

mysql> select * from mysql_users \G
*************************** 1. row ***************************
              username: proxysql    # 后端mysql实例的用户名
              password: password   # 后端mysql实例的密码
                active: 1           # active=1表示用户生效,0表示不生效
               use_ssl: 0
     default_hostgroup: 1           # 用户默认登录到哪个hostgroup_id下的实例
        default_schema: NULL
         schema_locked: 0
transaction_persistent: 1
          fast_forward: 0
               backend: 1
              frontend: 1
       max_connections: 10000
               comment: 
1 row in set (0.00 sec)

mysql> load mysql users to runtime;
Query OK, 0 rows affected (0.01 sec)

mysql> save mysql users to disk;
Query OK, 0 rows affected (0.01 sec)

mysql>
  • username:后端mysql实例的用户名
  • password:后端mysql实例的密码
  • active :active=1表示用户生效,0表示不生效
  • default_hostgroup :用户默认登录到哪个hostgroup_id下的实例
  • default_schema:用户默认登录后端mysql实例时连接的数据库,这个地方为NULL的话,则由全局变量mysql-default_schema决定,默认是information_schema
  • transaction_persistent:如果设置为1,连接上ProxySQL的会话后,如果在一个hostgroup上开启了事务,那么后续的sql都继续维持在这个hostgroup上,不论是否会匹配上其它路由规则,直到事务结束。默认是0
  • fast_forward:忽略查询重写/缓存层,直接把这个用户的请求透传到后端DB。相当于只用它的连接池功能,一般不用,路由规则 .* 就行了
  • max_connections:该用户允许的最大连接数

6)在proxysql主机端修改变量设置健康检测的账号

mysql> set mysql-monitor_username='monitor';
Query OK, 1 row affected (0.01 sec)

mysql> set mysql-monitor_password='monitor';
Query OK, 1 row affected (0.00 sec)

mysql> load mysql variables to runtime;
Query OK, 0 rows affected (0.00 sec)

mysql> save mysql variables to disk;
Query OK, 137 rows affected (0.03 sec)

7)添加读写分离的路由规则

将select查询语句全部路由至hostgroup_id=2的组(也就是读组),但是“select * from tb for update”这样的语句是会修改数据的,将它路由至hostgroup_id=1的组(也就是写组)。其他没有被规则匹配到的组将会被路由至用户默认的组(mysql_users表中的default_hostgroup)

mysql> insert into mysql_query_rules(rule_id,active,match_digest,destination_hostgroup,apply) values(1,1,'^SELECT.*FOR UPDATE$',1,1);
Query OK, 1 row affected (0.00 sec)

mysql> insert into mysql_query_rules(rule_id,active,match_digest,destination_hostgroup,apply) values(2,1,'^SELECT',2,1);
Query OK, 1 row affected (0.00 sec)

mysql> select rule_id,active,match_digest,destination_hostgroup,apply from mysql_query_rules;
+---------+--------+----------------------+-----------------------+-------+
| rule_id | active | match_digest         | destination_hostgroup | apply |
+---------+--------+----------------------+-----------------------+-------+
| 1       | 1      | ^SELECT.*FOR UPDATE$ | 1                     | 1     |
| 2       | 1      | ^SELECT              | 2                     | 1     |
+---------+--------+----------------------+-----------------------+-------+
2 rows in set (0.00 sec)

mysql> load mysql query rules to runtime;
Query OK, 0 rows affected (0.00 sec)

mysql> load admin variables to runtime;
Query OK, 0 rows affected (0.00 sec)

mysql> save mysql query rules to disk;
Query OK, 0 rows affected (0.10 sec)

mysql> save admin variables to disk;
Query OK, 35 rows affected (0.03 sec)
1.2.3 测试读写分离效果

1)使用刚创建的proxysql用户连接proxysql,端口为6033

[root@tango-01 mysql]# ./bin/mysql -uproxysql -ppassword -h127.0.0.1 -P6033
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.30 (ProxySQL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
| test01             |
+--------------------+
6 rows in set (0.35 sec)

mysql>

2)尝试修改数据库和查询

mysql> insert into test01.tb01 values('user5','123');
Query OK, 1 row affected (0.34 sec)

mysql> select * from test01.tb01;
+----------+----------+
| username | password |
+----------+----------+
| user1    | 123      |
| user2    | 123      |
| user3    | 123      |
| user4    | 123      |
+----------+----------+
4 rows in set (0.29 sec)

3)验证读写分离是否成功

[root@tango-01 mysql]# ./bin/mysql -uproxysql -ppassword -h127.0.0.1 -P6033
mysql> select * from stats_mysql_query_digest;
+-----------+--------------------+----------+----------------+--------------------+-------------------------------------+------------+------------+------------+----------+----------+----------+-------------------+---------------+
| hostgroup | schemaname         | username | client_address | digest             | digest_text                         | count_star | first_seen | last_seen  | sum_time | min_time | max_time | sum_rows_affected | sum_rows_sent |
+-----------+--------------------+----------+----------------+--------------------+-------------------------------------+------------+------------+------------+----------+----------+----------+-------------------+---------------+
| 1         | information_schema | proxysql |                | 0x0EE8CA2FFE163603 | insert into test01.tb01 values(?,?) | 1          | 1608257652 | 1608257652 | 335934   | 335934   | 335934   | 1                 | 0             |
| 1         | information_schema | proxysql |                | 0x02033E45904D3DF0 | show databases                      | 1          | 1608256262 | 1608256262 | 349671   | 349671   | 349671   | 0                 | 6             |
| 2         | information_schema | proxysql |                | 0x1E990D5CC27107F6 | select * from test01.tb01           | 4          | 1608257594 | 1608257671 | 622788   | 8657     | 315769   | 0                 | 16            |
| 1         | information_schema | proxysql |                | 0x226CD90D52A2BA0B | select @@version_comment limit ?    | 2          | 1608256256 | 1608257631 | 0        | 0        | 0        | 0                 | 0             |
+-----------+--------------------+----------+----------------+--------------------+-------------------------------------+------------+------------+------------+----------+----------+----------+-------------------+---------------+
4 rows in set (0.07 sec)

从上面的hostgroup和digest_text值来看,所有的写操作都被路由至1组,读操作都被路由至2组,其中1组为写组,2组为读组,因此实现读写分离。

参考资料:

  1. https://proxysql.com/documentation/
  2. https://www.cnblogs.com/keme/p/12290977.html
  3. https://blog.youkuaiyun.com/qq_43094192/article/details/84900922

转载请注明原文地址:https://blog.youkuaiyun.com/solihawk/article/details/117697624
文章会同步在公众号“牧羊人的方向”更新,感兴趣的可以关注公众号,谢谢!
在这里插入图片描述

MySQL8 使用 ProxySQL 来实现 MySQL 主从同步的读写分离和负载均衡 以上是配置 ProxySQL 进行 MySQL 主从同步的基本步骤。在这个设置中,ProxySQL 会帮助你自动进行读写分离、负载均衡,并能够在多个从库之间分配读取负载,确保数据库的高可用性和性能。 阅读详情

相关推荐

ProxySQL实现MySQL的读写分离

如何在Linux系统中安装,配置ProxySQL,以实现MySQL的读写分离,今天这篇文章意在实现对ProxySQL的安装与配置,以优化MySQL数据库的性能和可用性,实现高可用性和负载均衡。m1: 创建gr_member_routing_candidate_status视图,(主从故障切换关键)检查和确认后端MySQL服务器的配置和状态。proxysql 的对外访问账户。MySQL组日志中的最后6条记录。proxysql 的监控账户。3台mgr(之前的文章),写入主服务器(写组)

yungjisuang的博客 706

ProxySQL技术实践分享

一、ProxySQL基本介绍1.1 前言ProxySQL是 MySQL 的高性能、高可用性、协议感知代理。以下为结合主从复制对ProxySQL读写分离、黑白名单、路由规则等做些基本测试。1.2 基本介绍先简单介绍下ProxySQL及其功能和配置,主要包括:最基本的读/写分离,且方式有多种;可定制基于用户、基于schema、基于语句的规则对SQL语句进行路由,规则很灵活;动态加载配置,即绝大部分的...

360技术 1927

为什么我把「大模型Clouder认证:基于百炼平台构建智能体应用」作为大模型学习的第一站?从 0 到拿证全流程经验分享

【摘要】作为一个刚拿下「大模型 Clouder 认证:基于百炼平台构建智能体应用」的过来人,想在开头就和大家聊聊这个认证的特殊意义 —— 在企业加速 AI 落地的今天,能用低代码快速构建智能体应用,已经成为 AI 从业者的核心竞争力。无论是企业微信客服提效、钉钉机器人自动化办公,还是网站智能助手升级,这些场景化能力正是当下数字化转型的刚需。

davidkorhenn的博客 1525

ProxySQL配置读写分离

摘要:本文详细介绍了如何通过ProxySQL实现MySQL主从集群的读写分离。主要内容包括:1. ProxySQL简介及其三层配置模型(RUNTIME、MEMORY、DISK/CONFIGFILE);2. ProxySQL内置系统库功能说明;3. 具体配置步骤:设置从库read_only、配置读写组、添加主机、创建监控用户、配置应用连接用户和路由规则;4. 测试验证读写分离效果。通过合理配置,ProxySQL能有效将读操作路由到从库,写操作路由到主库,提升数据库集群性能。

裴东青的博客 1030

f103vet6 SD卡SDIO+DMA配置避坑指南:从初始化卡死到稳定读写的全流程解析

本文详细解析STM32F103VET6芯片SD卡SDIO与DMA配置中的常见问题,从初始化卡死到读写不稳定的全流程解决方案。重点分析总线宽度配置、时钟分频调整及DMA通道管理技巧,帮助开发者避开常见陷阱,实现稳定高效的数据存储。

u0v1w2x3的博客 666

别再傻傻分不清PBR和NPR了!从《原神》到《双城之战》,聊聊游戏里那些让你眼前一亮的渲染风格

本文深入解析了PBR(基于物理的渲染)与NPR(非真实感渲染)在游戏视觉风格中的应用差异,通过《原神》和《双城之战》的案例,展示了两种渲染技术如何创造出截然不同的艺术效果。从技术原理到实战案例,帮助读者理解如何根据项目需求选择合适的渲染风格。

weixin_30425949的博客 145

基于ProxySQL中间件实现MySQL的读写分离

是一个高性能的MySQL协议代理,它支持多种数据库后端,包括Amazon Aurora、RDS、ClickHouse、Galera、Group Replication、MariaDB Server、NDB、Percona Server等。它的设计目标是为了提高数据库访问的灵活性、性能和安全性。:能够智能地将读请求路由到从库(Slave),而写请求则发送到主库(Master),以此来优化负载均衡和提高读取性能。

Eucalyptus's blog 1279

LeetCode 热题 100 回顾

力扣最受刷题发烧友欢迎的 100 道题 LeetCode 热题 100 : 题目回顾、解题思路、复杂度分析、代码实现、验证算法

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 9万+

通过proxysql实现MySQL主从读写分离

MySQL 读写分离 主从复制 proxysql

we6100的专栏 983

西南科技大学数字电子技术实验七(4行串行累加器设计及FPGA实现)FPGA部分

/在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入0,并在k=0时运算。三、程序清单(每条语句必须包括注释或在开发窗口注释后截图)四、综合、管脚分配、生成输出文件、下载(所有步骤截图)五、仿真程序清单、波形(波形截图必做,截图!.k(k),//开关。

Welcome To My6n Blog 4328

【动态导通电阻】GaN功率器件中动态导通电阻退化的机制、表征及建模方法

研究目的:鉴于动态RON退化对GaN功率器件性能的显著影响,本文旨在全面综述和讨论GaN功率器件中动态RON退化的机制、表征方法、建模技术以及解决方案,以期为GaN功率器件的设计、优化和应用提供理论指导和实践参考。内容概述:文章首先分析了缓冲层陷阱和栅极不稳定导致动态RON退化的物理机制,并通过物理基础的TCAD模拟与高压背栅测量结果进行对比,揭示缓冲层陷阱的充电/放电过程如何影响动态RON。接着,讨论了不同GaN器件技术中栅极不稳定引起的动态RON增加以及栅极过驱动的作用。

荷塘阅色 1165

mysql代理中间件_MySQL中间件之ProxySQL安装部署篇

1.前言最近和搞中间件的同事聊了聊,他感叹了几句,如今最大的难处在于中间件太多了,不知道用哪个。社区有几款不错的中间件,mycat算是影响力比较大的吧(以前听一位哥们儿说他认为mycat是java写的,效率很低,然后就对mycat狂轰滥炸),oneproxy是我们楼教主的扛鼎巨著,还有mariadb社区那个延迟开源的收费软件maxscale。好咯,今天我们不讲这些高大上的中间件,今天我们说的这个中...

weixin_36155267的博客 552

yolov26改进 | 融合改进篇 | 轻量级移动端网络ShuffleNetV2融合CCFM参数量仅百万(附代码+修改教程)

本文介绍ShuffleNetV2与跨尺度特征融合模块CCFM融合改进的YOLOv26。ShuffleNetV2以硬件效率为导向,通过通道分割、轻量卷积和Channel Shuffle减少冗余计算与内存访问,在降低参数量和GFLOPs的同时保持高效特征提取;CCFM进一步加强不同尺度特征交互,弥补轻量主干语义表达不足的问题。本人在轻量模型上测试后,参数量和计算量明显下降,检测精度有一定提升,适合移动端、边缘设备及实时检测任务。文中提供完整代码、配置文件、模块注册及Codex修改思路,方便复现、对比和二次创新。

Snu77的博客 196

ProxySQL实现mysql8主从同步读写分离

1.1 前言 ProxySQL是 MySQL 的高性能、高可用性、协议感知代理。以下为结合主从复制对ProxySQL读写分离、黑白名单、路由规则等做些基本测试。1.2 基本介绍 先简单介绍下ProxySQL及其功能和配置,主要包括:最基本的读/写分离,且方式有多种;可定制基于用户、基于schema、基于语句的规则对SQL语句进行路由,规则很灵活;动态加载配置,即绝大部分的配置可以在线修改,但有少部分参数还是需要重启来生效;可缓存查询结果。虽然缓存策略比较简陋,但实现了基本的缓存功能;

weixin_68421640的博客 2672

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效。字体图标库:Font Awesome。技术栈:HTML+CSS+JS。

艾恩小灰灰的博客 907

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ProxySQL + MySQL MGR 实现读写分离实战

万字详解 MySQL MGR 高可用集群搭建ProxySQL 和 ShardingJDBC 属于竞品关系,国内使用ShardingJDBC更多,国外使用ProxySQL更多。当我们搭建好了MGR集群,由于组复制的存在,保证每个节点的数据都是强一致的。不会出现主节点有数据,而从节点没有数据的情况。

保持学习 2228

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用ProxySql实现MySQL的读写分离

‍‍ProxySQL 是一款高性能、开源的 MySQL 数据库中间件,主要作用是在应用程序与 MySQL 数据库之间搭建一层代理,实现数据库的负载均衡、读写分离、连接池管理、查询路由、故障转移等功能,从而提升数据库集群的可用性、稳定性和性能。

2401_87853424的博客 1136

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

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql读写分离与proxysql的结合

上一篇文章介绍了,而主从复制的目的,是为了读写分离。读写分离,拿spring boot项目来说,可以有2种方式:1)设置2个数据源,读和写分开使用2)使用中间件,如proxysql。它会根据sql语句自动匹配到主、从库方式一好处是灵活,可控,缺点是需要自己写一点代码,已有的项目修改可能比较大;proxysql的话,还是跟之前一样,只有一个数据源,代码好像也不用改。问题是,我用了一下,感觉有一些坑。也许是还不懂得怎么使用的缘故。

左直拳的马桶_日用桶 1589

通过ProxySQL实现MySQL读写分离

ProxySQL 是一个高性能、面向 MySQL 协议的代理服务器,用于 MySQL、MariaDB 服务器的读写分离、负载均衡、故障转移和查询路由。

id_is_null的博客 1961

MySQL的读写分离:基于ProxySQL MySQL Router的实战指南

在数据库应用场景中,**读写分离** 是一种常见的优化策略,旨在提升数据库的性能和可扩展性。MySQL 作为广泛使用的关系型数据库,支持多种读写分离的实现方案,其中 **ProxySQL** 和 **MySQL Router** 是两种常见的中间件解决方案。本篇文章将深入探讨 **基于 ProxySQL 和 MySQL Router 的读写分离实战**,并提供详细的配置步骤和使用场景分析。

2263

ProxySQL 读写分离配置

ProxySQL 是一个高性能、高可用的 MySQL 代理软件,旨在提升 MySQL 数据库的可扩展性和性能。它可以在应用程序和 MySQL 服务器之间充当中间层,提供强大的路由、负载均衡和查询优化功能。

Lzcsfg的博客 2039

【Linux】ProxySQL读写分离

容许链接到该后端实例的最⼤链接数,不能⼤于MySQL设置的max_connections,若是后端实例 hostname:port在多个hostgroup中,以较⼤者为准,⽽不是各⾃独⽴容许的最⼤链接数,默认为 1000。: 容许的最⼤延迟,master节点不受此影响,默认为0,若是>0,monitor模块监控主从延迟⼤于阀值 时,会临时把它变为shunned。读写分离是⼀种数据库优化技术,主要⽬的是通过将数据库的读操作和写操作分散到不同的数据库。实例上,来提⾼数据库的整体性能和可扩展性。

Stringzhua的博客 1497

ProxySQL分库分表实战:实现读写分离

本文介绍了使用ProxySQL实现数据库读写分离的全面指南。首先分析了ProxySQL的多层架构设计,包括全局配置层、连接池层、查询处理层和监控层的工作原理。然后详细讲解了读写分离的配置步骤,包括后端服务器设置、用户认证和路由规则配置。接着提供了ProxySQL在Ubuntu系统上的安装方法和基本配置流程。最后针对配置不生效的问题,给出了检查配置加载、服务器状态和SQL匹配规则的解决方案。通过ProxySQL的合理配置,可以有效提升数据库性能和可用性,为分库分表实践提供有力支持。

fykam的博客 1998
上一篇: 数据库系列之MySQL基于MySQL-proxy实现读写分离
下一篇: 数据库系列之MySQL基于Mycat实现读写分离
solihawk
博客等级 码龄17年 7995粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值