MySql用户管理、权限管理

用户管理

1. 查看系统用户(查询mysql系统数据库中的user表)

select * from mysql.user;

MySql用户管理、权限管理_第1张图片

 2. 创建用户 CREATE USER '用户名'@'主机名'  identified by '密码'

-- 创建用户zhonghua,只能在当前主句localhost访问,密码为123456
create user 'zhonghua'@'localhost' identified by 'Zh010204';

如果要任意主机都能访问数据库,将主机名写成‘%’即可;

create user 'zhonghua'@'%' identified by '123456';

3. 修改用户密码 ALTER USER  '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码'

-- 修改huazi的密码为1234
alter user 'huazi'@'%' identified with mysql_native_password by '1234';

4. 删除用户 DROP USER  '用户名'@'主机名' 

-- 删除用户 DROP USER '用户名'@'主机名'
drop user 'zhonghua'@'localhost';

补充:设置密码的时候可能出现密码设置失败的问题,那是由于Mysql自带的一套密码策略。

代码如下所示

-- 查看Mysql密码策略
SHOW VARIABLES LIKE 'validate_password%';

-- 修改密码验证强度等级
set global validate_password_policy=LOW;

-- 修改密码长度最小值
set global validate_password_length=4;

-- 设置密码中至少含有的数字个数
set global validate_password_number_count = 1;

-- 设置密码中英文字符大小写的个数(等级为MEDIUM或以上时生效)
set global validate_password_mixed_case_count =1;

-- 设置密码包含的特殊字符的最小值(等级为MEDIUM或以上时生效)
SET GLOBAL validate_password_special_char_count=0;

用户权限管理

查看权限 SHOW GRANTS FOR '用户名'@'主机名';

授予权限GRANT 权限列表 ON 数据库名.表名 to '用户名'@'主机名'

 撤销权限 REVOKE ALL ON 数据库名.表名 FROM '用户名'@'主机名'

-- 查看用户权限 SHOW GRANTS FOR '用户名'@'主机名'
show grants FOR 'huazi'@'%';

-- 授予权限 GRANT 权限列表 ON 数据库名.表名 to '用户名'@'主机名'
grant all on itcast.* to 'huazi'@'%';

-- 撤销权限 REVOKE ALL ON 数据库名.表名 FROM '用户名'@'主机名'
revoke all on itcast.* from 'huazi'@'%';

你可能感兴趣的:(mysql,数据库)