本篇文章小编给大家分享一下mysql8创建删除用户以及授权消权操作代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1、登录mysql
mysql -uroot -p
2、先查询都有哪些用户
select host,user from mysql.user;
红色箭头是主管理员,黄色箭头是mysql系统自带的,不要动它。蓝色箭头是子用户,这个是我以前匹配的,现在删掉,我们重新来。
3、删掉用户:
drop user '用户名'@'主机名'; drop user 'wyy'@'192.168.0.105';
4、创建用户
create user '用户名'@'允许那个主机链接' identified by '密码'; create user 'wyy'@'192.168.0.105' identified by 'wyy18222'; 只允许192.168.0.105的主机链接
备注:
Mysql8.0 默认采用 caching-sha2-password 加密,有可能旧的客户端不支持,可改为 mysql_native_password;
create user 'test'@'%' identified with mysql_native_password BY '密码';
百分号%;表示任何ip地址都可以链接
create user ‘wyy’@‘192.168.0.105’ identified by ‘wyy18222’;这个是只能192.168.0.105的链接。
5、修改密码
Alter user '用户名'@'主机名' identified by '新密码'; alter user 'wyy'@'192.168.0.105' identified by '123';
6、授权
给用户授权所有权限
grant all privileges on *.* to '用户名'@'主机名' with grant option; grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;
grant:授权、授予
privileges:权限,特权
第一个星号:表示所有数据库
第二个星号:表示所有表
with grant option:表示该用户可以给其他用户赋予权限,但不能超过该用户的权限。这个不加也行。
例如:如果wyy只有select、update权限,没有insert、delete权限,给另一个用户授权时,只能授予它select、update权限,不能授予insert、delete权限。
给用户授权个别权限
all privileges 可换成 select,update,insert,delete,drop,create 等操作
grant select,insert,update,delete on *.* to '用户名'@'主机名';
给用户授权指定权限
给用户授予指定的数据库权限
grant all privileges on 数据库 . * to 'wyy'@'192.168.0.105'; grant all privileges on xrs . * to 'wyy'@'192.168.0.105'; 将数据库名为xrs的所有权限赋予wyy
给用户授予指定的表权限
grant all privileges on 数据库 . 指定表名 to 'wyy'@'192.168.0.105'; 将某个数据库下的某个表的权限赋予wyy
注意:
网上有的直接创建并赋权:
grant all privileges * . * to ‘要创建的用户’@‘localhost’ identified by ‘自定义密码’;
我在mysql8试了不行(8版本以下还没试过),要先创建用户再进行赋权,不能同时进行
7、刷新权限
flush privileges;
新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,
否则会出现拒绝访问
还有一种方法,就是重新启动mysql服务器,来使新设置生效。
8、查看用户授权
show grants for 'wyy'@'192.168.0.105';
9、撤销用户授权(销权)
revoke all privileges on *.* from 'wyy'@'192.168.0.105';
用户有什么权限就撤什么权限
补充:mysql8.0 创建用户和授权用户遇到的坑
创建用户:
create user userName@localhost identified with mysql_native_password by 'password';(with mysql_native_password 如果没有这个,Navicat将无法登陆提示:2059 - authentication plugin...错误,因为Navicat不支持最新数据库默认的加密方式);
授权用户:
GRANT ALL PRIVILEGES ON databaseName.* TO userName@'ip';(注意这点跟以往数据库都不一样,无需后面跟着IDENTIFIED BY 'password';否则将提示ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'password'' at line 5)
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级