MySQL创建用户

本文详细介绍了在MySQL中创建用户的各种方法,包括使用`createuser`、`insert`和`grant`命令,以及设置用户密码、权限范围和账户锁定状态。还涵盖了修改用户验证插件、解锁用户以及调整资源限制的语法和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

创建用户

创建用户方式一: create user

创建简单用户

创建带有密码的用户——identified with

设置用户可操作性范围

设置密码管理选项

用户锁定

创建用户方式二: insert

创建用户方法三:grant

修改用户

修改验证插件 identified with ...by

解锁用户

同时修改多个参数


创建用户

创建用户注意事项:

  1. 区分大小写
  2. 不超过32个字符

创建用户方式一: create user

create USER [IF NOT exists]
账户名 [1.用户身份验证选项] ...
[2.with 资源控制选项] [3.密码管理选项|4.账户锁定选项]

例如
CREATE USER user1@’localhost’ IDENTIFIED BY ‘123456’;

1.用户身份验证选项            由default_authentication_plugin系统变量定义的插件进行身份验证 

2.with 资源控制选项         N(表示无限制)

3.密码管理选项                 password expire default

4.账户锁定选项                 account unlock

创建简单用户

#举例 
#创建最简单的用户 (不限定客户端,不需要密码,没有任何限制)
create user "jojo1";

不写主机名创建完成后 该用户host值为""等价且可以在任何主机中连接mysql

 当值为localhost时,当前用户只能从本地主机连接mysql

用户名和主机名在创建的时候,如果不包含空格 - 等 可以省略引号"" 用户名为空字符串时代表一个匿名用户

创建带有密码的用户——identified with

#语法——在创建用户时添加identified by 关键字

例如
create user "jojo2"@"localhost" identified by "123456";

也可以同时指定用户身份验证选项的插件

#用户身份验证选项
identified with 验证插件名 
identified with 验证插件名 by "明文密码"
identified with 验证插件名 as "哈希字符串"
identified by password "哈希字符串"

设置用户可操作性范围

可选项 含义

max_questions_per_hour

每小时的最大查询数

max_updates_per_hour

每小时时的最大更新数

max_connections_per_hour

每小时时的最大建立连接数

max_user_connections

同时的用户的最大连接数

为0的时候会看系统变量 都为0表示没有限制

#可选项
max_questions_per_hour 每小时的最大查询数
max_updates_per_hour   每小时时的最大更新数
max_connections_per_hour 每小时时的最大建立连接数
max_user_connections 同时的用户的最大连接数

max_user_connections 为0的时候会看系统变量 都为0表示没有限制

例如:
create user "jojo3"@"localhost" identified by "555555" with max_updates_per_hour 10;

设置密码管理选项

可选项       含义

password expire

将密码标注为过期

password expire DEFAULT

根据password_lifetime系统变量指定密码有效性

password expire never

密码永不过期

password expire interval n day

将生命周期设置为n天

#例如
create user "jojo4"@'localhost' identified by '666666' password expire interval 180 day;

注意:

1.密码过期以后用户登陆后必须重置密码才能执行sql语句

2.重置密码时,操作用户需要有create user 权限或者 mysql的update权限

用户锁定

被锁定的用户不能在客户端登陆mysql

关键字<account>

锁定:lock 

解锁:unlock 

#创建用户时锁定
create user 'jojo5'@'localhost' identified by '777777'
password expire account lock;

#解锁用户
alter user 'jojo5'@'localhost' account unlock;

创建用户方式二: insert

#使用insert创建用户
INSERT INTO mysql.user(user,host, authentication_string,ssl_cipher, 
x509_issuer,x509_subject) 
VALUES('user2','localhost',password('ABCabc123!'),'','',''); 
#刷新权限
FLUSH PRIVILEGES; 

创建用户方法三:grant

使用grant语句创建用户
GRANT SELECT ON *.* TO user3@’localhost’ IDENTIFIED BY ‘123456’; 
#刷新权限
FLUSH PRIVILEGES;

修改用户

alter USER [IF NOT exists]
账户名 [1.用户身份验证选项] ...
[2.with 资源控制选项] [3.密码管理选项|4.账户锁定选项]

修改验证插件 identified with ...by

alter user jojo1 identified with sha256_password by "123456" password expire;

解锁用户

alter user 'jojo5'@'localhost' account unlock;

同时修改多个参数

alter user
'jojo1' identified with mysql_native_password,
'jojo2'@'localhost' identified by '222222'.
with max_user_connections 2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值