cetus/doc/Admin.md
2018-03-06 14:00:39 +08:00

7.3 KiB
Raw Blame History

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