mysql用户权限

注意:复制不是代码段语句可能空格会出现异常。

查询user表信息格式化输出

select * from user\G;

查询user表主要信息

select Host,User,plugin from user;

一  管理用户 

创建一个用户,注意:新创建的用户是没有任何权限的,只有登录权限。

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

create user 'zs'@'%' identified by '1234567';

 删除一个用户

drop user '用户名'@'主机';

drop user 'zs'@'%';

修改密码

alter user '用户名'@'主机' identified by '新密码';

alter user 'zs'@'%' identified by '123456';

二  用户授权

all privileges是超级权限

一般替换为:select,insert,update,delete

授权

grant all privileges on databaseName.tableName to  '用户名'@'主机';

赋予对数据库CRUD权限:grant select,insert,update,delete on test.* to 'zs'@'%';
赋予对数据库的超级权限:grant all privileges on test.* to 'zs'@'%';

撤销授权

revoke all privileges on databaseName.tableName from  '用户名'@'主机';

revoke all privileges on test.* from 'zs'@'%';

刷新权限

flush privileges;

 查看权限

show grant for '用户名'@'主机';

show grants for 'zs'@'%';

 三  修改认证插件

mysql默认认证插件是:caching_sha2_password

这个认证插件是不允许navicat软件进行登录,想要使用navicat进行登录必须修改认证插件模式为:mysql_native_password

mysql用户权限

修改为navicat认证连接(注意用户、主机、密码):
alter user 'root'@'%' identified with mysql_native_password by '1234567';
修改为mysql默认认证连接(注意用户、主机、密码):
alter user 'root'@'%' identified with caching_sha2_password by '1234567';

 四  禁止root用户远程登录

原因:root用户是mysql数据库的超级营理员,几平拥有所有权限,一旦泄露后果非常严重。默认状态下用户登录数据库用户是root,可以采用穷举暴力破解。正常情况下,数据库不会对用户登录次数做限制。

update user set Host='localhost' where User='root';
上一篇:react源码解析7.Fiber架构


下一篇:react源码解析12.状态更新流程