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

广州 天河网站设计布吉网站建设

广州 天河网站设计,布吉网站建设,中企动力百度百科,中国跨境电商出口平台#作者:stackofumbrella 文章目录 ProxySQL简介ProxySQL架构ProxySQL的安装与配置在不同层次间移动配置 ProxySQL简介 ProxySQL是基于MySQL的一款开源的中间件的产品,是一个灵活的MySQL代理层,可以实现读写分离,支持Query路由功能…

#作者:stackofumbrella

文章目录

  • ProxySQL简介
  • ProxySQL架构
  • ProxySQL的安装与配置
    • 在不同层次间移动配置

ProxySQL简介

ProxySQL是基于MySQL的一款开源的中间件的产品,是一个灵活的MySQL代理层,可以实现读写分离,支持Query路由功能,支持动态指定某个SQL进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。

具有以下优点和特性:

  • 支持动态加载配置,可以在线修改配置。
  • 支持query cache。
  • 支持对query的路由,可以针对某个语句进行分配执行实例。
  • 监控后端节点,包括:ProxySQL和后端的心跳信息,后端节点的read-only/read-write,slave和master的数据同步延迟性 (replication lag)。
    能处理千亿级的数据。
  • 最基本的读/写分离,且方式有多种。
  • 可定制基于用户、基于schema、基于语句的规则对SQL语句进行路由。
  • 理解MySQL协议,具有高级连接处理能力。
  • 具有数据库防火墙功能,保护数据和流量免受恶意活动的侵害。

官方地址:https://www.proxysql.com/
Github仓库:https://github.com/sysown/proxysql/wiki
软件下载:https://github.com/sysown/proxysql/releases

ProxySQL架构

在这里插入图片描述
ProxySQL 2.0.x版本以后开始支持MGR高可用,这样结合MGR,使得MySQL主从集群具有更加完备的对外访问能力。

ProxySQL的安装与配置

环境准备
在这里插入图片描述
首先需要安装MySQL主从集群,即一主两从集群,过程比较简单,这里不再详述。
ProxySQL安装

$ sudo apt-get install -y --no-install-recommends lsb-release wget apt-transport-https ca-certificates
$ wget https://github.com/sysown/proxysql/releases/download/v2.7.3/proxysql_2.7.3-ubuntu22_amd64.deb
$ sudo dpkg -i proxysql_2.7.3-ubuntu22_amd64.deb

启动ProxySQL

$ sudo systemctl start proxysql
$ ss -tnl

在这里插入图片描述
6032是ProxySQL的管理端口号,6033是对外服务的端口号
连接ProxySQL

$ sudo apt install mysql-client-core-8.0

登录proxysql,proxysql的用户名和密码都是默认的admin

$ mysql -uadmin -padmin -h 127.0.0.1 -P 6032
mysql> show databases;

在这里插入图片描述
可见有五个库:main、disk、stats、monitor和stats_history
main:内存配置数据库,即MEMORY,表里存放后端db 实例、用户验证、路由规则等信息。main库中有如下信息:
mysql> use main;
mysql> show tables;
在这里插入图片描述
main库下的主要表
mysql_servers:后端可以连接MySQL服务器的列表
mysql_users:配置后端数据库的账号和监控的账号
mysql_query_rules:指定Query路由到后端不同服务器的规则列表
注: 表名以runtime_开头的表示ProxySQL当前运行的配置内容,不能通过DML语句修改。只能修改对应的不以 runtime开头的表,然后“LOAD”使其生效,“SAVE”使其存到硬盘以供下次重启加载。
disk库下的主要表
主要是一些持久化磁盘的配置
在这里插入图片描述
stats库下的主要表
主要是统计信息的汇总
在这里插入图片描述
stats_mysql_connection_pool表
hostgroup:后端服务器所属的主机组,单个后端服务器可以属于多个主机组
srv_host,srv_port:mysql后端服务器正在侦听连接的TCP端点的IP和Port
status:后端服务器的状态。可以有ONLINE,SHUNNED,OFFLINE_SOFT,OFFLINE_HARD
ConnUsed:ProxySQL当前使用多少个连接来向后端服务器发送查询
ConnFree:目前有多少个连接是空闲
ConnOK:成功建立了多少个连接
ConnERR:失败的连接数
Queries:路由到此特定后端服务器的查询数
Bytes_data_sent:发送到后端的数据量
Bytes_data_recv:从后端接收的数据量
Latency_ms:从Monitor报告的当前ping以毫秒为单位的延迟时间
monitor库下的主要表
主要是一些监控的收集信息,比如数据库的健康状态等
在这里插入图片描述
stats_history库下的主要表
这个库是ProxySQL收集有关其内部功能的历史指标
在这里插入图片描述
配置ProxySQL所需账户
请在MySQL的主库执行
注意:MySQL 8.0.x用户认证的方式需要修改为mysql_native_password,需要在MySQL的配置文件中加上这个用户认证方式,再来创建用户
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
default_authentication_plugin=mysql_native_password
mysql> select User,Host,plugin from mysql.user;
在这里插入图片描述
然后执行创建用户

#proxysql的监控账户
create user 'monitor'@'192.168.1.%' identified by '123456';
grant all privileges on *.* to 'monitor'@'192.168.1.%';
#proxysql的对外访问账户
create user 'proxysql'@'192.168.1.%' identified by '123456';
grant all privileges on *.* to 'proxysql'@'192.168.1.%';
flush privileges;

mysql> select User,Host,plugin from mysql.user;
在这里插入图片描述
ProxySQL的多层架构
在这里插入图片描述
整套配置系统分为三层:顶层为RUNTIME,中间层为MEMORY,底层也就是持久层DISK和CONFIG FILE。RUNTIME :代表ProxySQL当前正在使用的配置,无法直接修改这里的配置,必须要从下一层LOAD进来。
MEMORY:MEMORY层上面连接RUNTIME层,下面连接持久层。这层可以正常操作ProxySQL配置,随便修改,不会影响生产环境。修改一个配置一般都是在MEMORY层完成的,确认正常之后在加载达到RUNTIME和持久化的磁盘上。
DISK和CONFIG FILE:持久化配置信息,重启后内存中的配置信息会丢失,所需要将配置信息保留在磁盘中。重启时,可以从磁盘快速加载回来。

在不同层次间移动配置

重新配置MySQL用户
为了将配置持久化到磁盘或者应用到runtime,在管理接口下有一系列管理命令来实现它们。 要重新配置MySQL用户,可执行下面的其中一个命令:

  1. LOAD MYSQL USERS FROM MEMORY / LOAD MYSQL USERS TO RUNTIME
    将内存数据库中的配置加载到runtime数据结构,反之亦然。
  2. SAVE MYSQL USERS TO MEMORY / SAVE MYSQL USERS FROM RUNTIME
    将MySQL用户从runtime持久化到内存数据库。
  3. LOAD MYSQL USERS TO MEMORY / LOAD MYSQL USERS FROM DISK
    从磁盘数据库中加载MySQL用户到内存数据库中。
  4. SAVE MYSQL USERS FROM MEMORY / SAVE MYSQL USERS TO DISK
    将内存数据库中的MySQL用户持久化到磁盘数据库中。
  5. LOAD MYSQL USERS FROM CONFIG
    从配置文件中加载MySQL用户到内存数据库中。

处理MySQL Server

  1. LOAD MYSQL SERVERS FROM MEMORY / LOAD MYSQL SERVERS TO RUNTIME
    将MySQL server从内存数据库中加载到runtime。
  2. SAVE MYSQL SERVERS TO MEMORY / SAVE MYSQL SERVERS FROM RUNTIME
    将MySQL server从runtime持久化到内存数据库中。
  3. LOAD MYSQL SERVERS TO MEMORY / LOAD MYSQL SERVERS FROM DISK
    从磁盘数据库中加载MySQL server到内存数据库。
  4. SAVE MYSQL SERVERS FROM MEMORY / SAVE MYSQL SERVERS TO DISK
    从内存数据库中将MySQL server持久化到磁盘数据库中。
  5. LOAD MYSQL SERVERS FROM CONFIG
    从配置文件中加载MySQL server到内存数据库中

处理MySQL的查询规则

  1. LOAD MYSQL QUERY RULES FROM MEMORY / LOAD MYSQL QUERY RULES TO RUNTIME
    将MySQL query rules从内存数据库加载到runtime数据结构。
  2. SAVE MYSQL QUERY RULES TO MEMORY / SAVE MYSQL QUERY RULES FROM RUNTIME
    将MySQL query rules从runtime数据结构中持久化到内存数据库。
  3. LOAD MYSQL QUERY RULES TO MEMORY / LOAD MYSQL QUERY RULES FROM DISK
    从磁盘数据库中加载MySQL query rules到内存数据库中。
  4. SAVE MYSQL QUERY RULES FROM MEMORY / SAVE MYSQL QUERY RULES TO DISK
    将MySQL query rules从内存数据库中持久化到磁盘数据库中。
  5. LOAD MYSQL QUERY RULES FROM CONFIG
    从配置文件中加载MySQL query rules到内存数据库中。

处理MySQL变量

  1. LOAD MYSQL VARIABLES FROM MEMORY / LOAD MYSQL VARIABLES TO RUNTIME
    将MySQL variables从内存数据库加载到runtime数据结构。
  2. SAVE MYSQL VARIABLES TO MEMORY / SAVE MYSQL VARIABLES FROM RUNTIME
    将MySQL variables从runtime数据结构中持久化到内存中。
  3. LOAD MYSQL VARIABLES TO MEMORY / LOAD MYSQL VARIABLES FROM DISK
    从磁盘数据库中加载MySQL variables到内存数据库中。
  4. SAVE MYSQL VARIABLES FROM MEMORY / SAVE MYSQL VARIABLES TO DISK
    将MySQL variables从内存数据库中持久化到磁盘数据库中。
  5. LOAD MYSQL VARIABLES FROM CONFIG
    从配置文件中加载MySQL variables到内存数据库中。

处理管理变量

  1. LOAD ADMIN VARIABLES FROM MEMORY / LOAD ADMIN VARIABLES TO RUNTIME
    将admin variables从内存数据库加载到runtime数据结构。
  2. SAVE ADMIN VARIABLES TO MEMORY / SAVE ADMIN VARIABLES FROM RUNTIME
    将admin variables从runtime持久化到内存数据库中。
  3. LOAD ADMIN VARIABLES TO MEMORY / LOAD ADMIN VARIABLES FROM DISK
    从磁盘数据库中加载admin variables到内存数据库中。
  4. SAVE ADMIN VARIABLES FROM MEMORY / SAVE ADMIN VARIABLES TO DISK
    将admin variables从内存数据库中持久化到磁盘数据库。
  5. LOAD ADMIN VARIABLES FROM CONFIG
    从配置文件中加载admin variables到内存数据库中。

说明
修改配置的步骤一般是在MEMORY层进行修改,然后保存到RUNTIME和DISK
管理配置
disk是sqlite3数据库,默认位置是$DATADIR/proxysql.db( /var/lib/proxysql/proxysql.db),config file是一个传统配置文件一般不需要更改,在内存中动态更改配置,如果重启,没进行持久化(save) 则会丢失。
三者之间的关系

proxysql启动时,首先去找/etc/proxysql.cnf找到它的datadir,如果datadir下有proxysql.db就加载proxysql.db的配置,如果启动proxysql时带有–init标志,会用/etc/proxsql.cnf的配置,把Runtime,disk全部初始化一下,在调用是调用–reload 会把/etc/proxysql.cnf 和disk 中配置进行合并。如果冲突需要用户干预。disk会覆盖config file。

传统配置文件默认路径为/etc/proxysql.cnf,也可以在二进制程序proxysql上使用-c或–config来手动指定配置文件。默认情况下,几乎不需要手动去配置proxysql.cnf。记住,只要不是加载到runtime,修改的配置就不会生效。
只有加载到runtime状态时才会去做最后的有效性验证。在保存到内存数据库或持久化到磁盘上时,都不会发生任何警告或错误。当加载到runtime时,如果出现错误,将恢复为之前保存得状态,这时可以去检查错误日志。


文章转载自:

http://NRzSnfen.hLnys.cn
http://dTAPi6HV.hLnys.cn
http://YSEGEbYl.hLnys.cn
http://HllQX3lQ.hLnys.cn
http://LfJdbUeB.hLnys.cn
http://7lpGnrOf.hLnys.cn
http://dqwC2wMw.hLnys.cn
http://qjdnCyNe.hLnys.cn
http://C0qsXu8K.hLnys.cn
http://574besTp.hLnys.cn
http://kX50vJl5.hLnys.cn
http://yhsZAhdU.hLnys.cn
http://dyb9U8dw.hLnys.cn
http://JuZc0ALC.hLnys.cn
http://HYq9tJr0.hLnys.cn
http://J66OTt9c.hLnys.cn
http://C9EEe2iA.hLnys.cn
http://t6l8irhY.hLnys.cn
http://FM8sMx2R.hLnys.cn
http://DcAsG2RV.hLnys.cn
http://YBzuKna6.hLnys.cn
http://s3Rl7cPM.hLnys.cn
http://9FVUPuSZ.hLnys.cn
http://nVim6UI5.hLnys.cn
http://jambcsE7.hLnys.cn
http://zo1wDJNo.hLnys.cn
http://PMN2DXK5.hLnys.cn
http://ukrsDBYZ.hLnys.cn
http://ydnmQAMb.hLnys.cn
http://SR2UDVDN.hLnys.cn
http://www.dtcms.com/wzjs/706397.html

相关文章:

  • 百度查询云南官网优化
  • 运营一个网站的费用网站建设难点分析
  • 一键提取app源码seo优化自学
  • 北京网站优化服务有限公司液压电机东莞网站建设
  • 网站广告设计网站建设pdf文件怎么发布
  • 网站做外链软件渭南网站建设哪里便宜
  • 精品课程网站建设设计方案网站建设的毕业报告
  • 网站建没有前景洋气的传媒公司名字
  • 网站关键词做多了是不是影响权重网站建设使用软件
  • 怎么用模板建网站国际网站浏览器
  • 网站开发宣传语海南科技职业大学教务网络管理系统
  • 网站首页动画效果wordpress迁移保留账号
  • 搜索的网站后大拇指分享数量不见了做电影下载网站成本
  • 昆山网站建设兼职上海市质量工程建设管理协会网站
  • 建设汽车行业网站旅游网站开发实验报告
  • 大庆做网站的公司石景山网站建设多少钱
  • 福田住房和建设局网站官网十大软件免费下载安装手机版
  • 网站建设便宜公司建设银行违法网站
  • 企业网站建设需注意点政务网站建设工作方案
  • 网站设置为起始页英文网站建设知识
  • 做贸易 公司网站放哪里网站建设公司的政策风险
  • 网站推广朋友圈文案怎么做网站教程
  • 网站开发是什么职业les做ml网站
  • 浦东新区专业网站建设wordpress安装过程
  • 易尔通做网站怎么样东莞大朗最新通告
  • 网站和网址的区别个人网站空间购买
  • 做ppt接单的网站电子商务的就业方向
  • 做淘宝返利网站能挣钱建设一个功能简单的网站
  • 网站建设怎么做网站网络维护工作室 员工职务
  • nodejs 做视频网站wordpress恢复已删除目录