# 创建用户账户

__*TiDB 创建用户账户*__

+ `CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY '1234';    -'test':user_name is case sensitive  -'127.0.0.1':host_name can be a hostname or IP address`

+ `CREATE USER 'test'@'192.168.10.%';`

+ `CREATE USER 'test';`

-------------------------------------------------------------
添加用户有两种方式:
- 通过标准的用户管理的 SQL 语句创建用户以及授予权限,比如 CREATE USER 和 GRANT。
- 直接通过 INSERT、UPDATE 和 DELETE 操作授权表。

推荐使用第一种方式。第二种方式修改容易导致一些不完整的修改,因此不推荐。

例如:CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY '1234';

设置登录密码后,auth_string 会被 TiDB 经过加密存储在 mysql.user 表中。

TiDB 的用户账户名由一个用户名和一个主机名组成。账户名的语法为 'user_name'@'host_name'。
- user_name 大小写敏感。
- host_name 可以是一个主机名或 IP 地址。主机名或 IP 地址中允许使用通配符 % 和 _。例如,名为 '%' 的主机名可以匹配所有主机,'192.168.1.%' 可以匹配子网中的所有主机。

host 支持模糊匹配,比如:
CREATE USER 'test'@'192.168.10.%';

允许 test 用户从 192.168.10 子网的任何一个主机登录。

如果没有指定 host,则默认是所有 IP 均可登录。如果没有指定密码,默认为空:

CREATE USER 'test';

等价于:

CREATE USER 'test'@'%' IDENTIFIED BY '';

请参考:https://docs.pingcap.com/zh/tidb/stable/user-account-management