账户管理
Create user
该语句用来创建一个用户,需要管理员权限。如果在非default_cluster下create user,用户在登录连接palo和mini load等使用到用户名时,用户名将为user_name@cluster_name。如果在default_cluster下create user,用户在登录连接palo和mini load等使用到用户名时,用户名中不需要添加@cluster_name,即直接为user_name。
语法:
- CREATE USER user_specification [SUPERUSER]
- user_specification:
- 'user_name' [IDENTIFIED BY [PASSWORD] 'password']
说明:
CREATE USER命令可用于创建一个palo用户,使用这个命令需要使用者必须有管理员权限。SUPERUSER用于指定需要创建的用户是个超级用户
举例:
- 1.创建一个没有密码的用户,用户名为 jack
- CREATE USER 'jack'
- 2.创建一个带有密码的用户,用户名为 jack,并且密码被指定为 123456
- CREATE USER 'jack' IDENTIFIED BY '123456'
- 3.为了避免传递明文,用例2也可以使用下面的方式来创建
- CREATE USER 'jack' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'
- 后面加密的内容可以通过PASSWORD()获得到,例如:
- SELECT PASSWORD('123456')
- 4.创建一个超级用户'jack'
- CREATE USER 'jack' SUPERUSER
Drop user
该语句用于删除一个用户,需要管理员权限
语法:
- DROP USER 'user_name'
举例:
删除用户 jack
- DROP USER 'jack'
Alter user
该语句用于修改用户的相关属性以及分配给用户的资源
语法:
- ALTER USER user alter_user_clause_list
- alter_user_clause_list:
- alter_user_clause [, alter_user_clause] ...
- alter_user_clause:
- MODIFY RESOURCE resource value | MODIFY PROPERTY property value
- resource:
- CPU_SHARE
- property:
- MAX_USER_CONNECTIONS
举例:
- 1.修改用户jack的CPU_SHARE为1000
- ALTER USER jack MODIFY RESOURCE CPU_SHARE 1000
- 2.修改用户 jack 最大连接数为1000
- ALTER USER jack MODIFY PROPERTY MAX_USER_CONNECTIONS 1000
Alter quota
该语句用于修改某用户不同组资源的分配
语法:
- ALTER QUOTA FOR user_name MODIFY group_name value
举例:
- 修改system用户的normal组的权重
- ALTER QUOTA FOR system MODIFY normal 400;
Grant
该语句用于将一个数据库的具体权限授权给具体用户。调用者必须是管理员身份。权限当前只包括只读 (READ_ONLY),读写 (READ_WRITE) 两种权限,如果指定为ALL,那么就是将全部权限授予该用户。
语法:
- GRANT privilege_list ON db_name TO 'user_name'
- privilege_list:
- privilege [, privilege] ...
- privilege:
- READ_ONLY | READ_WRITE | ALL
举例:
- 1.授予用户 jack 数据库 testDb 的写权限
- GRANT READ_ONLY ON testDb to 'jack';
- 2.授予用户 jack 数据库 testDb 全部权限
- GRANT ALL ON testDb to 'jack';
Set password
该语句用于修改一个用户的登录密码。如果 [FOR 'user_name'] 字段不存在,那么修改当前用户的密码。PASSWORD() 方式输入的是明文密码; 而直接使用字符串,需要传递的是已加密的密码。如果修改其他用户的密码,需要具有管理员权限。
语法:
- SET PASSWORD [FOR 'user_name'] = [PASSWORD('plain password')]|['hashed password']
举例:
- 1.修改当前用户的密码为 123456
- SET PASSWORD = PASSWORD('123456')
- SET PASSWORD = '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'
- 2.修改用户 jack 的密码为 123456
- SET PASSWORD FOR 'jack' = PASSWORD('123456')
- SET PASSWORD FOR 'jack' = '\*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'