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

【Mysql】重生之从零开始学习运维之proxysql读写分离

ProxySQL安装

配置软件源

cat > /etc/yum.repos.d/proxysql.repo << EOF
[proxysql]
name=ProxySQL YUM repository
baseurl=https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/centos/\$releasever
gpgcheck=1
gpgkey=https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/repo_pub_key
EOF

yum makecache

安装软件

yum install proxysql

启动服务

systemctl status proxysql
systemctl start proxysql
systemctl is-active proxysql
ss -tunlp | grep proxy

登录

mysql -uadmin -padmin -P6032 -h127.0.0.1

ProxySQL配置

查看配置

show databases;
use main;
select * from proxysql_servers;

配置后端节点

insert into mysql_servers(hostgroup_id,hostname,port)values(530,'10.0.0.12',3306);
insert into mysql_servers(hostgroup_id,hostname,port)values(531,'10.0.0.15',3306);

保存配置

加载到RUNTIME

load mysql servers to runtime;

保存硬盘

save mysql servers to disk;

master主节点

创建用户并授权

create user proxyer@'10.0.0.%' identified by '123456';
grant REPLICATION CLIENT on *.* to proxyer@'10.0.0.%';

ProxySQL配置

修改配置

set mysql-monitor_username='proxyer';
set mysql-monitor_password='123456';
load mysql variables to runtime;
save mysql variables to disk;

insert into mysql_replication_hostgroups(writer_hostgroup,reader_hostgroup,comment) values(530,531,"test");
load mysql servers to runtime;
save mysql servers to disk;

查看节点

select * from mysql_replication_hostgroups;
select hostgroup_id,hostname,port,status,weight from mysql_servers;

master节点配置

MySQL 配置

create user sqluser@'10.0.0.%' identified by '123456'; 之前加过了
grant all on *.* to sqluser@'10.0.0.%';

ProxySQL配置

用户sqluser添加到表

insert into mysql_users(username,password,default_hostgroup) values('sqluser','123456',530);
load mysql users to runtime;
save mysql users to disk;

Prosql连接到master节点

mysql -usqluser -p'123456' -P6033 -h127.0.0.1
select @@server_id,@@read_only;

配置读写分离

insert into mysql_query_rules(rule_id,active,match_digest,destination_hostgroup,apply)VALUES(1,1,'^SELECT.*FOR UPDATE$',530,1),(2,1,'^SELECT',531,1);
load mysql query rules to runtime;
save mysql query rules to disk;

查看读写分离

mysql -usqluser -p'123456' -P6033 -h127.0.0.1 -e'select @@server_id,@@read_only'
mysql -usqluser -p'123456' -P6033 -h127.0.0.1 -e 'start transaction;select @@server_id,@@read_only;commit;'

http://www.dtcms.com/a/317476.html

相关文章:

  • docker相关操作记录
  • DSP2837X CLA开发实战教程
  • 解决Node.js v12在Apple Silicon(M1/M2)上的安装问题
  • 微软开发的Unix系统——Xenix测评
  • 运维新纪元:告别Excel手工规划,实现“零误差”决策
  • 无人机航拍数据集|第5期 无人机高压输电线铁塔鸟巢目标检测YOLO数据集601张yolov11/yolov8/yolov5可训练
  • Oracle开窗函数分类与统计应用
  • miniExcel一个对象加一个对象列表导出
  • 《Vue 3与Element Plus构建多语后台的深层架构》
  • 第一章-网络信息安全概述
  • 软考信息安全工程师11月备考
  • ZeroNews三步部署,安全远程访问教育内网
  • [激光原理与应用-165]:光机械件 - 影响系统性能指标的关键因素和敏感因素
  • 如何给小语种视频生成字幕?我的实测方法分享
  • VINS-Fusion+UWB辅助算法高精度实现
  • 【计算机网络 | 第3篇】物理媒介
  • Git 分支迁移完整指南(结合分支图分析)
  • 微软的BitLocker加密
  • 华为云 Flexus 部署 coze-studio
  • 第五十篇:AI画家的“神经中枢”:ComfyUI的推理路径与缓存逻辑深度解析
  • PostgreSQL 高可用与负载均衡
  • iOS 文件管理实战指南 查看 App 数据与系统日志的完整方法
  • 26-OS-PV大题
  • 重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正
  • 启动VScode调试时报错:go命令的版本是1.23.0,而工具链的版本是1.23.6
  • IDEA 2025下载安装教程【超详细】保姆级图文教程(附安装包)
  • 华硕携多款明星电竞显示器亮相 ChinaJoy2025,联袂 TCL 华星打造沉浸体验
  • [Oracle] SIGN()函数
  • 微信小程序最大层级跳转问题
  • 使用 Maxwell 和 RabbitMQ 监控 Mysql Flowable 表变更