MySQL CREATE USER语句用于创建一个数据库帐户,允许指定用户登录MySQL数据库。

语法

MySQL 中使用 CREATE USER 语句的语法如下:

CREATE USER 
  user_name IDENTIFIED BY 'password_value'
  [PASSWORD EXPIRE [DEFAULT | NEVER | INTERVAL N DAY]]; 

参数

user_name必填。 指定需要创建的数据库帐号名称。
password_value必填。 指定分配给用户名的密码。
PASSWORD EXPIRE可选。 指定以下内容:
  • PASSWORD EXPIRE - 立即将密码标记为过期
  • PASSWORD EXPIRE DEFAULT - 设置帐户的全局过期策略
  • PASSWORD EXPIRE NEVER - 覆盖全局策略并禁用帐户的密码过期
  • PASSWORD EXPIRE INTERVAL N DAY - 覆盖全局策略并将帐户的密码有效期设置为 N 天

示例:创建用户

在下面的示例中,CREATE USER 语句用于创建一个名为 john 的新用户在 MySQL 数据库中,密码为"password1"。

CREATE USER
  'john'@'localhost' IDENTIFIED BY 'password1'; 

一般我们需要可以远程访问的账号,这里,我们可以使用如下两条命令:

-- 创建可以远程访问的账号和密码
CREATE USER 'yxjc123'@'%' IDENTIFIED BY 'yxjcpassword';
-- 给该账号授权超级访问权限
grant all privileges on *.* to 'yxjc123'@'%';

示例:创建多个用户

在下面的示例中,有两个用户在 MySQL 数据库中创建。第一个是 john,密码为"password1"。其次是marry,密码为"password2"。

CREATE USER
  'john'@'localhost' IDENTIFIED BY 'password1',
  'marry'@'localhost' IDENTIFIED BY 'password2'; 

示例:使用哈希值作为密码

在上面的示例中,明文密码为用过的。可以使用其哈希值提供密码(请参阅 PASSWORD() 函数)。例如 - 要创建一个名为 john 且密码为"password1"的新用户,可以使用以下语句。

CREATE USER
  'john'@'localhost' IDENTIFIED BY '*668425423DB5193AF921380129F465A6425216D0'; 

或者

CREATE USER
  'john'@'localhost' IDENTIFIED BY PASSWORD('password1'); 

示例:设置密码到期时间

PASSWORD EXPIRE INTERVAL N DAY 子句可用于将给定帐户的密码有效期设置为 N 天。在下面的示例中,用户的密码有效期为 180 天。

CREATE USER
  'john'@'localhost' IDENTIFIED BY 'password1'
  PASSWORD EXPIRE INTERVAL 180 DAY;