MySQL创建用户并授权、删除用户(密码规则)

创建用户

create user '用户名'@'%' identified by '密码';

有时你可能会遇到密码不符合要求的错误, 如MySQL 8.0+:
在这里插入图片描述
这时需要修改密码以符合规则,或修改密码规则。

密码

查看密码规则

show variables like 'validate_password%';
global参数表示
validate_password.check_user_nameON 表示可以将用户名作为密码,OFF时表示不可以
validate_password.dictionary_file检查密码的字典文件的路径名
validate_password.length默认为8,限制密码长度的最小字符数
validate_password.mixed_case_count默认值为1,限制小写字符和大写字符个数
validate_password.number_count默认值为1,限制数字的个数
validate_password.policy默认值为1
密码强度等级:{LOW:0, MEDIUM:1, STRONG:2}
0/LOW:只检查长度;
1/MEDIUM:检查长度、数字、大小写、特殊字符;
2/STRONG:检查长度、数字、大小写、特殊字符字典文件
validate_password_special_char_count默认值为1,限制特殊字符个数

修改密码规则

根据上表描述,结合需要修改参数值。
如,我只想它检测密码长度,那么我只需要修改validate_password.policy=lowvalidate_password.policy=0

set global validate_password.policy=0;

修改密码

update mysql.user set password=password('新密码') where User="用户名" and Host="用户地址";

flush privileges;

授权

为已有用户授权远程连接

用户地址:

  • %表示任何ip都可访问;
  • 具体的ip地址,表示只允许该ip地址进行远程连接;
  • localhost,表示只允许本地连接。
alter user '用户名'@'用户地址' identified by '密码';

如果修改之后还不能访问,试着查看防火墙是否开放MySQL端口。

授权

格式:

grant 权限1,权限2,…权限n on 数据库名.表名 to '用户名'@'用户地址';

权限1,权限2,…权限n代表:select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
权限1,权限2,…权限nall privileges或者all代替,表示赋予用户全部权限。

所有表:

grant all privileges on *.* to '用户名'@'用户地址';

特定数据库:

grant all privileges on 数据库名.* to '用户名'@'用户地址';

刷新系统权限表

flush privileges;

删除用户

DELETE FROM user WHERE User='用户名' and Host='用户地址';

# 刷新权限表
flush privileges;

# 删除用户的数据库
drop database jeecnDB;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值