当前位置: 首页 > news >正文

Amazon RDS ProxySQL 探索(一)

:::info
💡 在日常开发中,开发者们会涉及到数据库的连接,在使用Amazon RDS数据库时,若使用集群模式或者多数据库时,会出现一写多读多个Endpoint,在实际开发中, 开发者们配置数据库连接通常希望走一个endpoint,让其自动分离读写

:::

Amazon RDS & ProxySQL架构图

本文架构图,作为入门演示环境,仅采用单个ProxySQL以及Amazon Aurora (MySQL Compatible) 5.7.44集群(1写1读)

AWS RDS MySQL的创建

Step1.创建MySQL数据库[读写]

需要创建至少2个节点的数据库集群,这样会产生读写节点

ProxySQL设置

Step1.安装ProxySQL

以Debian12为例,安装ProxySQL

ProxySQL下载地址

https://proxysql.com/documentation/installing-proxysql/

Debian 12安装ProxySQL

wget https://github.com/sysown/proxysql/releases/download/v2.7.3/proxysql_2.7.3-debian12_amd64.deb
dpkg -i proxysql_2.7.3-debian12_amd64.deb

开机并启动ProxySQL

systemctl enable proxysql
# 验证状态
systemctl status proxysql

Step2.RDS MySQL创建monitor用户

CREATE USER 'monitor'@'%' IDENTIFIED BY 'monitor';
GRANT USAGE, REPLICATION CLIENT ON *.* TO 'monitor'@'%';

Step3.ProxySQL添加用户,设定规则

INSERT INTO mysql_servers(hostgroup_id,hostname,port) VALUES (10,'write_node',3306);
INSERT INTO mysql_servers(hostgroup_id,hostname,port) VALUES (20,'read_node',3306);

insert into mysql_users (username,password,default_hostgroup) values ('root','123456',20);

insert into mysql_query_rules(rule_id,active,match_pattern,destination_hostgroup,apply) values (1,1,'^select.*for update$',10,1);
 
insert into mysql_query_rules(rule_id,active,match_pattern,destination_hostgroup,apply) values (2,1,'^select',20,1);

load mysql query rules to runtime;
save mysql query rules to disk;
load mysql variables to runtime;
save mysql variables to disk;
LOAD MYSQL USERS TO RUNTIME;	
SAVE MYSQL USERS TO DISK;

相关资料

感谢各位亚马逊云科技的架构师

  • 如何结合使用 ProxySQL 和开源平台来拆分 Amazon Aurora 集群上的 SQL 读写操作
  • How to use ProxySQL with open source platforms to split SQL reads and writes on Amazon Aurora clusters
  • 开源软件 ProxySQL 与 AWS RDS 不得不说系列 Blog(一): Proxy on AWS 测试架构和 ProxySQL 基本配置

相关文章:

  • C语言数据结构:数组
  • 【vue】路由出口监听组件钩子
  • 【Go学习】04-4-Gorm框架-增删改查事务钩子
  • 计算机网络——DHCP
  • 如何精准打点解决卡牌、SLG、开放大世界、放置类游戏卡顿难题
  • body-parser 与 express.json()、express.urlencoded() 会冲突
  • 大数据学习(65)- Hue详解
  • 【后端】【django drf】Django DRF API 编写规范(程序设计规则)
  • 地理信息系统(ArcGIS)在水文水资源及水环境中的应用:空间数据管理‌、空间分析功能‌、‌可视化表达‌
  • ICLR 2025|DAMO开发者矩阵合作专场
  • 用sphinx-doc整理文档#2
  • µCOS-III从入门到精通 第十五章(µC/OS-III内存管理)
  • windows 下用docker 部署nginx
  • 蓝桥杯 3514子串简写
  • 【python】一文掌握 Conda 指令 (anaconda备忘清单)
  • 【每日学点HarmonyOS Next知识】防截屏、加载不同View、函数传参、加载中效果、沉浸式底部状态栏
  • 第八节:红黑树(初阶)
  • 容易混淆的概念:requests 库 和 Flask 的 request
  • 【3DMAX科研绘图】3DMAX晶体网络插件CrystalNet使用方法
  • 【VUE2】第四期——路由
  • 西安网站建设专业/网站统计代码
  • 网站UI怎么做/口碑营销有哪些
  • 做网站每年需付费吗/seo查询官方网站
  • 做网站合同模板/怎样免费制作网页
  • 宿迁公司做网站/今日最新闻
  • css网站图标/凡科建站模板