ALTER USER¶
ALTER USER命令用于在 Catalog 中设置当前用户的主 Schema 或主图、或修改用户密码。
主 Schema 或主图设置后,或密码修改后,当前活跃会话仍然保持有效。
前提条件¶
- 仅具备
ADMIN角色的用户可以为所有用户设置主 Schema 或主图。其他用户只能设置自己的主 Schema 或主图。 - 每位用户只能修改自己的密码。
语法¶
- alter_user_schema
- alter_user_graph
- alter_user_password_command
alter_user_schema ::=
'ALTER' 'USER' user_name 'SET' 'HOME_SCHEMA' schema_reference
alter_user_graph ::=
'ALTER' 'USER' user_name 'SET' 'HOME_GRAPH' (schema_reference '/')? graph_name
alter_user_password_command ::=
'ALTER' 'USER' user_name 'WITH' 'PASSWORD' '"' new_password '"'
参数¶
user_name¶
需要设置主 Schema、主图、或修改密码的用户名称。
schema_reference¶
所引用的 Schema 路径。
- 为用户设置主 Schema 时,
schema_reference为要设置为主 Schema 的所在路径。若未设置,则该用户的主 Schema 默认为/default_schema。 - 为用户设置主图时,
schema_reference为要设置为主图的图所在的 Schema 路径。若想将不在当前会话中的 Schema 中的图设置为主图,则必须指定对应 Schema 路径。若未指定,则所设置主图必须在当前 Schema 中。
路径区分大小写,必须与现有的 Schema 路径匹配。绝对路径或相对路径均可在命令中使用。您可以使用 CREATE SCHEMA 创建 Schema。关于为当前会话设置和查看 Schema 的更多信息,请参见 SESSION SET 和 SHOW CURRENT_SCHEMA。
Note
设置主 Schema 或主图不会授予用户父级 Schema 的USAGE。如果主 Schema 不是/default_schema,需要单独授予所需的USAGE。更多信息,请参见 Schema 访问控制。
graph_name¶
要设置为主图的名称。名称区分大小写,必须与现有的图名称匹配。您可以使用 CREATE GRAPH 创建图。
new_password¶
用户的新密码。
新密码必须使用双引号或单引号包裹,且至少 8 个字符长,其中至少包含 1 个大写字母、1 个小写字母和 1 个数字。
示例¶
设置主 Schema¶
'''
// 创建 Schema
CREATE SCHEMA IF NOT EXISTS /my_schema
'''
'''
// 为当前用户设置主 Schema
ALTER USER root SET HOME_SCHEMA /my_schema
'''
将当前 Schema 中的图设置为主图¶
'''
// 创建图类型
CREATE GRAPH TYPE IF NOT EXISTS home_graph_type AS {}
'''
'''
// 创建图
CREATE GRAPH IF NOT EXISTS `home_graph` TYPED home_graph_type
'''
'''
// 为当前用户设置主图
ALTER USER root SET HOME_GRAPH `home_graph`
'''
将指定 Schema 中的图设置为主图¶
'''
// 创建图类型
CREATE GRAPH TYPE IF NOT EXISTS home_graph_type AS {}
'''
'''
// 创建图
CREATE GRAPH IF NOT EXISTS homegraph TYPED home_graph_type
'''
'''
// 创建 Schema
CREATE SCHEMA IF NOT EXISTS /my_schema
'''
'''
// 为当前会话设置 Schema
SESSION SET SCHEMA /my_schema
'''
'''
// 为当前用户设置主图
ALTER USER root SET HOME_GRAPH /default_schema/homegraph
'''
修改用户密码¶
ALTER USER root WITH PASSWORD "Password123"
更多信息¶
- 查看当前用户的信息,请参见 SHOW CURRENT_USER。
- 查看加入当前服务组的所有用户的信息,请参见 SHOW USERS。
- 查看当前会话的信息,请参见 SHOW CURRENT_SESSION。
- 查看所有会话的信息,请参见 SHOW SESSIONS。