MySQL CREATE USER创建用户(附带实例)
MySQL 官方推荐在系统库 mysql 中使用 CREATE USER 语句创建新用户。
此外,还可以使用 INSERT 语句操作系统库 mysql 中的 user 表增加用户,但是 MySQL 8.0 中移除了 PASSWORD 加密方法,因此不再推荐使用 INSERT 语句。
使用 CREATE USER 语句创建新用户时,必须拥有 CREATE USER 权限。每增加一个用户,CREATE USER 语句就会在 mysql.user 表中添加一条新记录,但是新创建的用户没有任何权限。
CREATE USER 语句的语法如下所示:
下面创建两个用户 li4 和 zhang3,具体 SQL 语句如下所示:
查看用户信息,结果如下所示:
此外,还可以使用 INSERT 语句操作系统库 mysql 中的 user 表增加用户,但是 MySQL 8.0 中移除了 PASSWORD 加密方法,因此不再推荐使用 INSERT 语句。
使用 CREATE USER 语句创建新用户时,必须拥有 CREATE USER 权限。每增加一个用户,CREATE USER 语句就会在 mysql.user 表中添加一条新记录,但是新创建的用户没有任何权限。
CREATE USER 语句的语法如下所示:
CREATE USER 用户名 [IDENTIFIED BY '密码'] [, 用户名 [IDENTIFIED BY '密码']] ;
- “用户名”表示创建的新用户,由用户名(User)和主机名(Host)构成。
- “[]”表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,用户可以直接登录。不过,不指定密码验证的方式不安全,不推荐使用。如果指定了密码验证,那么这里需要使用 IDENTIFIED BY 语句指定明文密码值。
- CREATE USER 语句可以同时创建多个用户。
下面创建两个用户 li4 和 zhang3,具体 SQL 语句如下所示:
mysql> CREATE USER li4 IDENTIFIED BY 'Test_123123'; #默认 Host 值为 "%" mysql> CREATE USER 'zhang3'@'localhost' IDENTIFIED BY 'Test_123456';
查看用户信息,结果如下所示:
mysql> SELECT Host, User FROM mysql.user; +-----------+------------------+ | Host | User | +-----------+------------------+ | % | li4 | | % | root | | localhost | zhang3 | | localhost | mysql.infoschema | | localhost | mysql.session | | localhost | mysql.sys | +-----------+------------------+ 6 rows in set (0.00 sec)可以看到,在创建用户的时候,如果指定了 Host,则按照指定的 Host 创建;如果没有指定 Host,则默认 Host 值为“%”。
相关文章
- MySQL CREATE INDEX语句创建索引(非常详细,附带实例)
- MySQL CREATE PROCEDURE创建存储过程的用法(非常详细)
- MySQL CREATE FUNCTION创建存储函数的用法(附带实例)
- MySQL CREATE VIEW创建视图(附带实例)
- MySQL CREATE PROCEDURE语句的用法(附带实例)
- MySQL CREATE FUNCTION语句的用法(附带实例)
- MySQL CREATE VIEW:创建视图(非常详细,附带实例)
- MySQL SHOW CREATE TABLE:查看表详细结构(附带实例)
- MySQL创建数据库(CREATE DATABASE语句)
- MySQL创建数据表(CREATE TABLE语句)