接入、登录
obclient -h${HOSTNAME} -P$(PORT_NUM) -u${USERNAME}@${TENANT_NAME}#${CLUSTER_NAME} -D${DB_NAME} -A资源规格->资源池->租户 创建
查看已有资源规格
SELECT * FROM DBA_OB_UNIT_CONFIGS;创建一个资源规格 CREATE RESOURCE UNIT
CREATE RESOURCE UNIT s1_unit_config
MEMORY_SIZE = '2G',
MAX_CPU = 1, MIN_CPU = 1,
LOG_DISK_SIZE = '6G',
MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1;查看已有资源池
SELECT * FROM DBA_OB_RESOURCE_POOLS;创建一个资源池 CREATE RESOURCE POOL
CREATE RESOURCE POOL mq_pool_01
UNIT='s1_unit_config',
UNIT_NUM=1; 租户列表
SELECT * FROM DBA_OB_TENANTS;创建租户 CREATE TENANT
- ob_compatibility_mode 指定了ORACLE/MYSQL,默认为MYSQL,单机版无该选项
- OB_TCP_INVITED_NODES 指定了连接IP的白名单,默认为本机
CREATE TENANT IF NOT EXISTS orl_t1
PRIMARY_ZONE='zone1',
RESOURCE_POOL_LIST=('mq_pool_01')
SET OB_TCP_INVITED_NODES='%',
ob_compatibility_mode='oracle';数据库操作
库操作
创建数据库
CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4;列出、切换数据库
show databases;
use dbname;用户操作(MYSQL 租户)
外部参考资料:https://dev.mysqlserver.cn/doc/refman/8.4/en/account-managem%20ent-statements.html
创建用户(并设定密码)
CREATE USER 'username'@'%' IDENTIFIED BY 'password_change_me';请注意:在 MySQL 中,用户不仅仅是用户名,而是 用户名 + 客户端主机 的组合
权限
MYSQL 支持的权限列表:https://dev.mysqlserver.cn/doc/refman/8.4/en/grant.html#grant-privileges
/* 提升权限 */
/* 单个、单表 */
GRANT SELECT ON dbname.* TO 'db_username'@'%';
/* 超级权限 */
GRANT all on *.* TO 'dba_username'@'';
/* 撤销权限
/* 查询权限分配情况 */
SHOW GRANTS FOR db_username;
/* 用户级权限查询 本质上是查询 mysql.user */
SELECT * FROM mysql.user WHERE user='db_username';
/* 数据库级权限查询 */
SELECT * FROM mysql.db WHERE user='db_username';常见角色的权限赋予原则
- 业务测试:CREATE,DROP,ALTER,INDEX,CREATE VIEW
- 业务生产、工具迁移:SELECT,UPDATE,DELETE,INSERT(其他变更通过DBA操作)
- 监控、数据备份:SELECT,其中监控视需要还可以给予information_schema的SELECT权限。
OB以外的提示:对于旧版 MYSQL 在修改完权限后还需要执行 FLUSH PRIVILEGES 以生效权限变更。
用户操作(ORACLE 租户)
本文标题:OceanBase DBA 操作学习速查
本文连接:https://blog.dextercai.com/archives/234.html
除另行说明,本站文字内容采用创作共用版权 CC-BY-NC-ND 4.0 许可协议,版权归本人所有。
除另行说明,本站图片内容版权归本人所有,未经许可前,严禁以任何形式的使用。
即日起视情况关闭全站评论区,您可以通过关于页面的电邮地址和我取得联系,谢谢