mirror of
https://gitee.com/wangbin579/cetus.git
synced 2024-12-02 11:57:44 +08:00
285 lines
7.3 KiB
Markdown
285 lines
7.3 KiB
Markdown
# Admin手册
|
||
|
||
## 写在前面
|
||
|
||
**有配置修改均能动态生效,配置更改后请务必修改原始配置文件,以确保下次重启时配置能够保留。**
|
||
|
||
## 后端配置
|
||
|
||
### 查看后端
|
||
|
||
`SELECT * FROM backends`
|
||
|
||
查看后端信息。
|
||
|
||
| backend_ndx | address | state | type | uuid | connected_clients |
|
||
|------------:|---------------------|-------|------|------|------------------:|
|
||
| 1 | 10.120.240.252:3309 | up | rw | NULL | 0 |
|
||
| 2 | 10.120.240.254:3310 | up | ro | NULL | 20 |
|
||
|
||
结果说明:
|
||
|
||
* backend_ndx: 后端序号,按照添加顺序排列;
|
||
* address: 后端地址,IP:PORT格式;
|
||
* state: 后端状态(unknown|up|down|maintaining|delete);
|
||
* type: 读写类型(rw|ro);
|
||
* uuid: 暂时无用;
|
||
* connected_clients: 客户查看后端连接状态端连接的数量(正在处理请求的连接)。
|
||
|
||
```
|
||
状态说明
|
||
|
||
unknown: 后端初始状态,还未建立连接;
|
||
up: 能与后端正常建立连接;
|
||
down: 与后端无法联通(如果开启后端状态检测,能连通后自动变为UP);
|
||
maintaining: 后端正在维护,无法建立连接或自动切换状态(此状态由管理员手动设置);
|
||
delete: 后端已被删除,无法再建立连接。
|
||
```
|
||
|
||
### 查看后端连接状态
|
||
|
||
`SELECT CONN_DETAILS FROM backends`
|
||
|
||
查看每个用户占用和空闲的后端连接数。
|
||
|
||
| backend_ndx | username | idle_conns | total_used_conns |
|
||
|------------:|---------------|-----------:|-----------------:|
|
||
| 1 | lott_quanzi | 2 | 0 |
|
||
| 1 | zjhpettest | 11 | 0 |
|
||
|
||
结果说明:
|
||
|
||
* backend_ndx: 后端序号;
|
||
* username: 用户名;
|
||
* idle_conns: 空闲连接数;
|
||
* total_used_conns: 正在使用的连接数。
|
||
|
||
### 添加后端
|
||
|
||
`ADD MASTER [ip:port]`
|
||
|
||
添加一个读写类型的后端。
|
||
|
||
>ADD MASTER 127.0.0.1:3307
|
||
|
||
`ADD SLAVE [ip:port]`
|
||
|
||
添加一个只读类型的后端。
|
||
|
||
>ADD SLAVE 127.0.0.1:3360
|
||
|
||
`INSERT INTO backends VALUES ("ip:port", "ro|rw")`
|
||
|
||
添加一个后端,同时指定读写类型。
|
||
|
||
>INSERT INTO backends values ("127.0.0.1:3306", "rw");
|
||
|
||
### 删除后端
|
||
|
||
`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 address|backend_ndx=[value]`
|
||
|
||
修改后端类型或状态。
|
||
|
||
>update backends set type="rw" where address="127.0.0.1:3306"
|
||
|
||
>update backends set state="up" where backend_ndx=1
|
||
|
||
## 基本配置
|
||
|
||
### 获取基本配置
|
||
|
||
`config get common`
|
||
|
||
能获取的配置包括:
|
||
|
||
* check_slave_delay: 是否启用从库延迟检查(0为不检查)
|
||
* slave_delay_down: 从库延迟大于该时间时,设置从库状态为DOWN(单位:秒)
|
||
* slave_delay_recover: 从库延迟小于等于该时间时,设置从库状态为UP(单位:秒)
|
||
|
||
### 修改基本配置
|
||
|
||
`config set common.[option] = [value]`
|
||
|
||
例如
|
||
|
||
>config set common.slave_delay_down = 3
|
||
|
||
## 连接池配置
|
||
|
||
### 获取连接池配置
|
||
|
||
`config get pool`
|
||
|
||
能获取的配置包括:
|
||
|
||
* max_pool_size: 连接池最大连接数,超出后将不再维持超出部分的连接
|
||
* default_pool_size: 默认连接数量,连接数达到此值之前会一直新建连接
|
||
* master_preferred: 设置为1时仅访问主库(读写)
|
||
* max_resp_len: 允许每个后端返回数据的最大值
|
||
|
||
### 修改连接池配置
|
||
|
||
`config set pool.[option] = [value]`
|
||
|
||
修改某项配置
|
||
|
||
>config set pool.max_pool_size = 200
|
||
|
||
## 查看连接信息
|
||
|
||
### 查看当前连接的详细信息
|
||
|
||
`SHOW CONNECTIONLIST`
|
||
|
||
将当前全部连接的详细内容按表格显示出来。
|
||
|
||
| User | Host | Server | db | Command | Time | Trans | State | Info |
|
||
|---------------|----------------------|--------|------------------|---------|------|-------|------------|------|
|
||
| ddz_develop | 10.120.241.198:53728 | NULL | ddz_tower_test | Sleep | 0 | N | READ_QUERY | NULL |
|
||
| mail | 10.120.241.183:37960 | NULL | tech_mail_new_db | Sleep | 0 | N | READ_QUERY | NULL |
|
||
|
||
结果说明:
|
||
|
||
* User: 用户名;
|
||
* Host: 客户端的IP和端口;
|
||
* Server: 后端地址;
|
||
* db: 数据库名称;
|
||
* Command: 执行的sql,"Sleep"代表当前空闲;
|
||
* Time: 已执行的时间;
|
||
* Trans: 是否在事务中;
|
||
* State: 连接当前的状态,"READ_QUERY"代表在等待获取命令;
|
||
* Info: 暂未知。
|
||
|
||
## 用户/密码管理
|
||
|
||
### 密码查询
|
||
|
||
`SELECT * FROM user_pwd WHERE user=[username]`
|
||
|
||
查询某个用户的后端密码。
|
||
**注意由于密码是非明文的,仅能显示字节码。**
|
||
|
||
>select * from user_pwd where user="root";
|
||
|
||
`SELECT * FROM app_user_pwd WHERE user=[username]`
|
||
|
||
查询某个用户连接proxy的密码,同样是非明文。
|
||
|
||
>select * from app_user_pwd where user="test";
|
||
|
||
### 密码添加/修改
|
||
|
||
`UPDATE user_pwd SET password=[password1] WHERE user=[username]`
|
||
|
||
添加或修改特定用户的后端密码(如果该用户不存在则添加,已存在则覆盖)。
|
||
**需要Flush config生效**
|
||
|
||
>update user_pwd set password="123456" where user="test";
|
||
|
||
>flush config;
|
||
|
||
`UPDATE app_user_pwd SET password=[password1] WHERE user=[username]`
|
||
|
||
添加或修改特定用户连接Proxy的密码(如果该用户不存在则添加,已存在则覆盖)。
|
||
**需要Flush config生效**
|
||
|
||
>update app_user_pwd set password="123456" where user="root";
|
||
|
||
>flush config;
|
||
|
||
### 密码删除
|
||
|
||
`DELETE FROM user_pwd where user=[username]`
|
||
|
||
删除特定用户的后端密码。
|
||
**需要Flush config生效**
|
||
|
||
>delete from user_pwd where user="root"
|
||
|
||
>flush config;
|
||
|
||
`DELETE FROM app_user_pwd where user=[username]`
|
||
|
||
删除特定用户连接Proxy的密码。
|
||
**需要Flush config生效**
|
||
|
||
>delete from app_user_pwd where user="root"
|
||
|
||
>flush config;
|
||
|
||
### 查看未提交的修改
|
||
|
||
`SHOW CHANGES`
|
||
|
||
查看已修改,但未flush的变更。
|
||
|
||
### 清除未提交的修改
|
||
|
||
`CLEAR CHANGES`
|
||
|
||
清除已修改,但未flush的变更。
|
||
|
||
## IP许可
|
||
|
||
### 查看IP许可
|
||
|
||
`SHOW ALLOW_IP admin|proxy`
|
||
|
||
查看Admin或者Proxy的IP许可。
|
||
若列表为空,则代表没有任何限制。
|
||
|
||
### 增加IP许可
|
||
|
||
`ADD ALLOW_IP admin|proxy [[user@]IP]`
|
||
|
||
增加一个IP许可。(不要加引号)
|
||
|
||
* Admin: 仅能配置IP,不能限制用户(Admin有效用户只有一个);
|
||
* Proxy: 仅配置IP,代表允许该IP来源所有用户的访问;配置User@IP,代表允许该IP来源的特定用户访问。
|
||
|
||
>add allow_ip admin 127.0.0.1
|
||
|
||
>add allow_ip proxy test@127.0.0.1
|
||
|
||
### 删除IP许可
|
||
|
||
`DELETE ALLOW_IP admin|proxy [[user@]IP]`
|
||
|
||
删除一个IP许可。(不要加引号)
|
||
|
||
>delete allow_ip admin 127.0.0.1
|
||
|
||
>delete allow_ip proxy test@127.0.0.1
|
||
|
||
## 远程管理
|
||
|
||
### 重载分库配置
|
||
|
||
`reload shard`
|
||
|
||
需要"remote-config = true"和"disable-threads = false"启动选项。
|
||
从远端配置库中重载Shard配置。
|
||
|
||
### 保存配置到本地文件
|
||
|
||
`SAVE SETTINGS [FILE]`
|
||
|
||
保存当前配置到指定路径的本地文件中。
|
||
|
||
>save settings /tmp/proxy.cnf
|