MariaDB Account Management Part-Content

帐号/用户 管理/操作 部分内容-创建与赋予权限

CREATE USER

  • 执行命令需要全局创建用户的权限和mysql数据库的插入数据(INSERT)权限
  • 用户信息存储在mysql.user

mariadb 10.3之前是表(table)
10.4版本之后是视图(view)
或mysql_priv_table权限

报错

  • 错误编号 error 1396

CREATE USER,DROP USER,CREATE ROLE,DROP ROLE产生的错误代码相同

  • Operation CREATE USER failed for 'u1'@'%','u2'@'%' 不会创建用户
  • 其他错误会创建不报错的用户出来

OR REPLACE

create or replace name...;

等同于

Drop user if exists name;
Create user name...;

IF NOT EXISTS

创建已经存在的用户的话,不适用该选项会报错,使用只会产生警告,使用只会产生警告,查看警告:

Show Warnings;

加密

...

资源限制选项

  1. 限制跟踪用户(Account),而不是单个用户名(user)或连接
  2. 计数会被一些命令重置:
Flush USER_RESOURCES
Flush PRIVILEGES
mysqladmin reload
  1. 限制信息存储在mysql.user中

Account Names

  1. 有用户命部分和host name两部分组成
'user_name'@'host_name'
  1. 两部分可以用单引号、双引号、反引号或不用
  2. 但是包含特殊符号时,需要将两部分分别包括

Syntax

CREATE [OR REPLACE] USER [IF NOT EXISTS] 
 user_specification [,user_specification ...] 
  [REQUIRE {NONE | tls_option [[AND] tls_option ...] }]
  [WITH resource_option [resource_option ...] ]
  [lock_option] [password_option] 

user_specification:
  username [authentication_option]

authentication_option:
  IDENTIFIED BY 'password' 
  | IDENTIFIED BY PASSWORD 'password_hash'
  | IDENTIFIED {VIA|WITH} authentication_rule [OR authentication_rule  ...]

authentication_rule:
    authentication_plugin
  | authentication_plugin {USING|AS} 'authentication_string'
  | authentication_plugin {USING|AS} PASSWORD('password')

tls_option:
  SSL 
  | X509
  | CIPHER 'cipher'
  | ISSUER 'issuer'
  | SUBJECT 'subject'

resource_option:
  MAX_QUERIES_PER_HOUR count
  | MAX_UPDATES_PER_HOUR count
  | MAX_CONNECTIONS_PER_HOUR count
  | MAX_USER_CONNECTIONS count
  | MAX_STATEMENT_TIME time

password_option:
  PASSWORD EXPIRE
  | PASSWORD EXPIRE DEFAULT
  | PASSWORD EXPIRE NEVER
  | PASSWORD EXPIRE INTERVAL N DAY

lock_option:
    ACCOUNT LOCK
  | ACCOUNT UNLOCK
}

参考

  1. 账户管理
  2. 创建用户

posted on 2021-08-20 15:44  山木之  阅读(75)  评论(0)    收藏  举报