Cetus 读写分离版本管理手册
查看帮助
或select help
查看管理端口用法
结果说明:
读写分离版本管理端口提供了多条语句对cetus进行管理,具体用法见以下说明。
后端配置
select * from backends
查看后端信息。
结果说明:
- backend_ndx: 后端序号,按照添加顺序排列;
- address: 后端地址,IP:PORT格式;
- state: 后端状态(unknown|up|down|maintaining|deleted);
- type: 读写类型(rw|ro);
- slave delay: 主从延迟时间(单位:毫秒),只有cetus配有从库并且监测主从延迟才会有slave delay的值;
- uuid: 暂时无用;
- idle_conns: 空闲连接数;
- used_conns: 正在使用的连接数;
- total_conns: 总连接数。
查看后端连接状态
select conn_details from backends
查看每个用户占用和空闲的后端连接数。
结果说明:
- backend_ndx: 后端序号;
- username: 用户名;
- idle_conns: 空闲连接数;
- used_used_conns:正在使用的连接数。
- total_used_conns: 总的连接数。
添加后端
add master '<ip:port>'
添加一个读写类型的后端。
例如
add slave '<ip:port>'
添加一个只读类型的后端。
例如
add slave '127.0.0.1:3360'
insert into backends VALUES ('<ip:port>', '(ro|rw)', '<state>')
添加一个后端,同时指定读写类型。
例如
insert into backends values ('127.0.0.1:3306', 'rw', 'up');
删除后端
remove backend <backend_ndx>
或delete from backends where backend_ndx = <backend_ndx>
删除一个指定序号的后端。
例如
remove backend 1
delete from backends where address = '<ip:port>'
删除一个指定地址的后端。
例如
delete from backends where address = '127.0.0.1:3306'
修改后端
update backends set (type|state)='<value>' WHERE (backend_ndx=<index>|address='<ip:port>')
修改后端类型或状态。
例如
update backends set type='rw' where address='127.0.0.1:3306'
update backends set state='up' where backend_ndx=1
说明
基本配置
查看连接池/通用配置
config get [<item>]
config get
查看支持的配置类型
pool
连接池配置common
通用配置
config get common
查看通用配置
common.check_slave_delay
是否需要检测从库延迟common.slave_delay_down_threshold_sec
若延迟大于此值(秒),后端状态置为DOWNcommon.slave_delay_recover_threshold_sec
若延迟小于此值(秒),后端状态置为UP
查看连接池配置
pool.default_pool_size
默认连接池大小pool.max_pool_size
最大连接数量pool.max_resp_len
最大结果集长度pool.master_preferred
是否只允许走主库
修改配置
config set <key>=<value>
config set slave-delay-down = 3
查看参数配置
show variables [like '%<pattern>%']
查看的参数均为启动配置选项中的参数,详见Cetus 启动配置选项说明。
查看当前连接的详细信息
show connectionlist
将当前全部连接的详细内容按表格显示出来。
结果说明:
- User: 用户名;
- Host: 客户端的IP和端口;
- db: 数据库名称;
- Command: 执行的sql,"Sleep"代表当前空闲;
- Time: 已执行的时间;
- Trans: 是否在事务中;
- PS:是否存在prepare;
- State: 连接当前的状态,"READ_QUERY"代表在等待获取命令;
- Server: 后端地址;
- Info: 暂未知。
select conn_num from backends where backend_ndx=<index> and user='<name>')
例如
设置是否减少空闲连接
set reduce_conns (true|false)
例如
set reduce_conns true;
减少空闲连接。
设置是否加速关闭所有客户端连接
set maintain (true|false)
例如
set maintain true;
加速关闭客户端与Cetus的连接,该参数通常与LVS配合使用。
查询是否加速关闭所有客户端连接
show maintain status
查询是否加速关闭所有客户端连接。
用户/密码管理
密码查询
select * from user_pwd [where user='<name>']
查询某个用户的后端密码。
注意由于密码是非明文的,仅能显示字节码。
select * from user_pwd where user='root';
select * from app_user_pwd [where user='<name>']
查询某个用户连接proxy的密码,同样是非明文。
例如
select * from app_user_pwd where user='test';
密码添加/修改
update user_pwd set password='<password>' where user='<name>'
添加或修改特定用户的后端密码(如果该用户不存在则添加,已存在则覆盖)。
例如
update user_pwd set password='123456' where user='test'
update app_user_pwd set password='<password>' where user='<name>'
添加或修改特定用户连接Proxy的密码(如果该用户不存在则添加,已存在则覆盖)。
例如
update app_user_pwd set password='123456' where user='root'
密码删除
delete from user_pwd where user='<name>'
删除特定用户连接Proxy的密码。
例如
delete from app_user_pwd where user='root'
Proxy端口IP白名单
查看Proxy端口IP白名单
show allow_ip
增加Proxy端口的IP白名单
add allow_ip <address>
向Proxy的白名单增加一个IP许可。(IP需要加引号)
<address>:[[user@]IP]
例如
add allow_ip "test@127.0.0.1"
delete allow_ip <address>
删除Proxy端口的白名单中的一个IP许可。(IP需要加引号)
<address>:[[user@]IP]
例如
delete allow_ip "127.0.0.1"
delete allow_ip "test@127.0.0.1"
Proxy端口的IP黑名单
查看Proxy端口的IP黑名单
show deny_ip
查看proxy模块的IP黑名单。若列表为空,则代表没有任何限制。
增加IP黑名单
向Proxy端口的黑名单中增加一个IP限制。(IP需要加引号)
<address>:[[user@]IP]
说明
其中配置的IP为特定IP(如192.0.0.1),也支持IP段(如192.0.0.*)。
例如
add deny_ip "127.0.0.1"
add deny_ip "test@127.0.0.1"
删除Proxy端口的IP黑名单
delete deny_ip <address>
删除Proxy端口的黑名单中的一个IP限制。(IP需要加引号)
<address>:[[user@]IP]
例如
delete deny_ip "127.0.0.1"
delete deny_ip "test@127.0.0.1"
注意:IP白名单的优先级高于IP黑名单
保存最新配置
save settings
保存当前最新配置到cetus的安装主路径中(如/home/user/cetus_install/)。
查看统计信息
stats get [<item>]
stats get
查看支持的统计类型
client_query
客户发来的SQL数量proxyed_query
发往后端的SQL数量query_time_table
查询时间直方图server_query_details
每个后端接收的SQL数量query_wait_table
等待时间直方图
stats get client_query
stats get proxyed_query
查看读/写SQL数量
stats get server_query_details
查看各个后端读/写SQL数量
stats get query_time_table
stats get query_wait_table
查看各时间值对应的SQL数量,如:
表示用时1毫秒的SQL有3条,用时2毫秒的SQL有5条,用时5毫秒的SQL有1条
说明
查看总体状态
cetus
包括程序版本、连接数量、QPS、TPS等信息
查看当前cetus版本
select version
其他
减少系统占用的内存
Cetus 读写分离版本管理手册
前言
有配置修改均能动态生效,配置更改后请务必修改原始配置文件,以确保下次重启时配置能够保留。