暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

05-proxysql-用户管理

原创 搭春绿 恩墨学院 2024-04-08
429
  1. 1. 用户的配置管理传递
  2. 2. mysql用户查询
  3. 3. mysql用户创建
    1. 3.1. mysql创建基本语法
    2. 3.2. 创建带默认hostgroup,默认schema的mysql用户
  4. 4. mysql用户配置更新
    1. 4.1. 更新mysql用户的最大连接数
    2. 4.2. persistent连接
    3. 4.3. 用户删除

*前言: proxysql对后端mysql用户进行管理

1. 用户的配置管理传递

-- 保存mysql配置至磁盘 SAVE MYSQL USERS TO DISK; SAVE MYSQL USERS FROM MEMORY; -- 从runtime保存至内存 SAVE MYSQL USERS TO MEMORY; -- 从disk读取mysql用户至内存 LOAD MYSQL USERS TO MEMORY; SAVE MYSQL USERS TO DISK; -- 从runtime保存mysql用户信息至磁盘(作用是可以保存为加密的密码。) SAVE MYSQL USERS FROM RUNTIME; SAVE MYSQL USERS TO DISK LOAD MYSQL USERS TO RUNTIME;

2. 后端mysql用户查询

select * from mysql_users; show create table mysql_users CREATE TABLE mysql_users ( username VARCHAR NOT NULL, password VARCHAR, active INT CHECK (active IN (0,1)) NOT NULL DEFAULT 1, use_ssl INT CHECK (use_ssl IN (0,1)) NOT NULL DEFAULT 0, default_hostgroup INT NOT NULL DEFAULT 0, default_schema VARCHAR, schema_locked INT CHECK (schema_locked IN (0,1)) NOT NULL DEFAULT 0, transaction_persistent INT CHECK (transaction_persistent IN (0,1)) NOT NULL DEFAULT 1, fast_forward INT CHECK (fast_forward IN (0,1)) NOT NULL DEFAULT 0, backend INT CHECK (backend IN (0,1)) NOT NULL DEFAULT 1, frontend INT CHECK (frontend IN (0,1)) NOT NULL DEFAULT 1, max_connections INT CHECK (max_connections >=0) NOT NULL DEFAULT 10000, attributes VARCHAR CHECK (JSON_VALID(attributes) OR attributes = '') NOT NULL DEFAULT '', comment VARCHAR NOT NULL DEFAULT '', PRIMARY KEY (username, backend), UNIQUE (username, frontend) )

字段解释:

  • username:MySQL用户名
  • password:MySQL密码
  • active:是否启用
  • use_ssl:是否使用SSL连接
  • default_hostgroup:默认主机组
  • default_schema:默认架构
  • schema_locked:架构是否锁定,默认不启用
  • transaction_persistent:事务是否持久化,默认启用
  • fast_forward:是否快速转发,默认不启用
  • backend:后端数据库,默认1
  • frontend:前端数据库,默认1
  • max_connections:最大连接数,默认10000
  • attributes:属性
  • comment:注释

3. mysql用户创建

3.1. mysql创建基本语法

INSERT INTO mysql_users(username,password) VALUES ('user1','password1');

3.2. 创建带默认hostgroup,默认schema的mysql用户

INSERT INTO mysql_users(username,password,default_hostgroup,default_schema) VALUES ('user2','password2',10,'dbtest1');

4. mysql用户配置更新

4.1. 更新mysql用户的最大连接数

UPDATE mysql_users SET max_connections=100 WHERE username='user2';

4.2. persistent连接

事务启动后,可能会根据查询规则将某些查询发送到不同的主机组。为了防止这种情况发生,可以启用transaction_persistent。一个例子:

UPDATE mysql_users SET transaction_persistent=1 WHERE username='user2'; SELECT username, transaction_persistent FROM mysql_users;

4.3. 用户删除

直接delete删除对应记录即可

delete from mysql_users WHERE username='user2';
最后修改时间:2024-04-08 17:51:28
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论