OceanBase SQL管理员手册.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### OceanBase SQL管理员手册知识点详解 #### 用户及权限管理 **1.1 用户及权限管理语句** **1.1.1 新建用户** - **语法:** `CREATE USER user_specification [, user_specification]` - `user_specification:` `user IDENTIFIED BY 'password'` - 必须拥有全局的`CREATE USER`权限或对`__users`表的`INSERT`权限,才可使用`CREATE USER`命令。 - 新建成功后,`__users`表会新增一行该用户的表项,新建的用户没有任何权限。 - 如果同名用户已经存在,则报错。 - 用户名格式与一个普通SQL字符串相同,如‘Tom123’, ‘HanMeiMei’等。 - 此处密码为明文,存入`__users`表后,服务器端会变为密文存储。 **1.1.2 删除用户** - **语法:** `DROP USER user [, user]` - 必须拥有全局的`CREATE USER`权限或对`__users`表的`DELETE`权限,才可使用`DROP USER`命令。 - 成功删除用户后,这个用户的所有权限也会被一同删除。 **1.1.3 修改密码** - **语法:** - `SET PASSWORD [FOR user] = 'password'` - `ALTER USER user IDENTIFIED BY 'password'` - 如果没有`FOR user`子句,则修改当前用户的密码。任何成功登录的用户都可以修改当前用户的密码。 - 如果有`FOR user`子句,或使用第二种语法,则修改指定用户的密码。必须拥有对`__users`表的`UPDATE`权限,才可以修改指定用户的密码。 **1.1.4 重命名用户** - **语法:** `RENAME USER old_user TO new_user [, old_user TO new_user]` - 重命名指定用户的用户名,成功后,新用户拥有原用户的所有权限。 - 必须拥有全局`CREATE USER`权限或者对`__users`表的`UPDATE`权限,才可使用本命令。 **1.1.5 锁定用户** - **语法:** `ALTER USER user lock_specification` - `lock_specification: LOCKED | UNLOCKED` - 锁定或者解锁用户。被锁定的用户不允许登录。 - 必须拥有对`__users`表的`UPDATE`权限,才可以执行本命令。 **1.1.6 授予权限** - **语法:** `GRANT priv_type [, priv_type] ON priv_level TO user_specification [, user_specification]` - `priv_level: * | tbl_name` - `user_specification: user` - 给特定用户授予权限。如果用户不存在则报错。 - 当前用户必须拥有被授予的权限,并且拥有`GRANT OPTION`权限,才能授予成功。 - 可以`GRANT`和`REVOKE`的权限包括但不限于:SELECT、INSERT、UPDATE、DELETE、CREATE、DROP等。 - 本用户自动拥有自己创建的对象(目前基本上只有表)。例如,用户user1创建了表t1,t2,那么用户user1应该自动就有对t1,t2的`ALL PRIVILEGES`及`GRANT OPTION`权限,不再需要额外授权。 **1.1.7 撤回权限** - **语法:** `REVOKE priv_type [, priv_type] ON priv_level FROM user [, user]` - `REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user]` - 第一种语句撤销特定权限,第二种语句撤销所有权限。 **1.1.8 查看权限** - **语法:** `SHOW GRANTS FOR user` - 查看指定用户的权限列表。 **1.2 用例** - 示例1: 创建用户`user1`并设置密码为`pass123`。 ```sql CREATE USER user1 IDENTIFIED BY 'pass123'; ``` - 示例2: 修改用户`user1`的密码为`newPass456`。 ```sql SET PASSWORD FOR user1 = 'newPass456'; ``` #### 系统变量和配置 **2.1 修改系统变量** - **语法:** `SET system_variable = value` - 修改运行时的系统变量。 - 需要注意的是,某些变量可能只能在启动时通过配置文件进行设定。 **2.2 修改系统配置项** - **语法:** `ALTER SYSTEM SET variable_name = value` - 修改系统级别的配置项。 - 这些更改通常会影响到整个数据库实例,因此需要谨慎操作。 **2.3 查看配置项的值** - **语法:** `SHOW VARIABLES LIKE 'variable_pattern'` - 查看特定配置项的当前值。 **用例** - 示例1: 设置系统变量`max_connections`为200。 ```sql SET max_connections = 200; ``` - 示例2: 查看系统变量`max_connections`的当前值。 ```sql SHOW VARIABLES LIKE 'max_connections'; ``` #### 其他SQL语句 **3.1 show语句** **3.1.1 show columns** - **语法:** `SHOW COLUMNS FROM table_name` - 显示表中的所有列信息。 **3.1.2 show create table** - **语法:** `SHOW CREATE TABLE table_name` - 显示创建指定表的SQL语句。 **3.1.3 show tables** - **语法:** `SHOW TABLES` - 列出当前数据库中的所有表。 **3.1.4 show variables** - **语法:** `SHOW VARIABLES` - 显示所有系统变量及其值。 **3.1.5 show parameters** - **语法:** `SHOW PARAMETERS` - 显示系统参数及其值。 **3.1.6 show warnings** - **语法:** `SHOW WARNINGS` - 显示最近执行SQL语句时产生的警告信息。 **3.1.7 show grants** - **语法:** `SHOW GRANTS FOR user` - 显示指定用户的权限列表。 **3.2 describe语句** - **语法:** `DESCRIBE table_name` - 显示表中的所有列信息,与`SHOW COLUMNS`相似。 **3.3 explain语句** - **语法:** `EXPLAIN SELECT statement` - 显示查询执行计划,用于性能调优。 **3.4 altersystemset语句** - **语法:** `ALTER SYSTEM SET variable_name = value` - 修改系统级别的配置项,与`2.2`节中的描述相同。 #### 内部表 - OceanBase 使用内部表来存储元数据和其他重要信息,例如用户和权限信息。 #### 系统自举和初始化 **5.1 步骤一:Bootstrap** - 完成系统的初步部署,为后续的配置奠定基础。 **5.2 步骤二:修改初始配置** - 调整系统配置以满足特定的需求。 **5.3 步骤三:账户管理** - 包括创建管理员账户、设置初始权限等。 #### 实现上的限制 - OceanBase 在设计和实现上有一些限制,这些限制可能会随着版本更新而发生变化。 #### SQL优化 **7.1 执行计划** - `EXPLAIN`命令可以显示SQL语句的执行计划,这对于优化SQL查询至关重要。 **7.2 内部优化规则** **7.2.1 主键索引** - OceanBase 支持基于主键的索引优化,这有助于提高查询效率。 **7.2.2 并发执行** - OceanBase 支持并发执行查询,从而提高了系统的整体性能。 OceanBase SQL管理员手册详细介绍了OceanBase数据库中用户管理、权限管理、系统配置、SQL语句等方面的关键知识点,为数据库管理员提供了全面的指导和支持。
- 粉丝: 48
- 资源: 8282
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助