1、进入mysql
1
|
mysql -uroot -p |
2、创建用户
1
|
create user 'testuser1' @ '%' identified by '123456' ; |
这里表示创建一个不限制ip登录的用户 testuser1
该用户的密码是 123456
%代表不限制ip登录
刷新权限,每一次权限更改后都刷新一下
1
|
flush privileges ; |
在本地新建连接都可以登录该用户了
这个时候你打开会发现只有information_schema一个数据库
3、给用户赋权
1
|
grant all privileges on test_grant.* to 'testuser1' @ '%' with grant option ; |
这里表示给用户testuser1赋予数据库test_grant(这是我之前创建好的数据库)中所有表的所有权限
with grant option表示该用户可以给其他用户赋权,但是不能超过该用户的权限
此时查看,用户testuser1多了一个test_grant数据库
这里的all privileges 可换成select,insert,update,delete,drop,create等
4、查看用户权限
1
|
show grants for 'testuser1' @ '%' ; |
5、撤销用户权限
1
|
revoke all privileges on test_grant.* from 'testuser1' @ '%' ; |
这里表示撤销用户testuser1对数据库test_grant的所有操作权限
注意:这里如果这么写,你会发现你打开还是有数据库test_grant(不过你无法操作该数据库了),这是因为我之前创建的时候用到了with grant option,因为all privileges 是除了with grant option的所有权限
执行如下语句 回收用户所有权限即可
1
|
revoke all privileges , grant option from 'testuser1' @ '%' ; |
6、删除用户
1
|
drop user 'testuser1' @ '%' ; |
7、查询所有用户及其权限
1
|
SELECT DISTINCT CONCAT( 'User: ' '' , user , '' '@' '' ,host, '' ';' ) AS query FROM mysql. user ; |
也可以这样
1
|
SELECT User , Host FROM mysql. user ; |
附:查看用户权限
1
|
show grants for ‘#userName '@' #host'; |
#userName 代表用户名
#host 代表访问权限,如下
- %代表通配所有host地址权限(可远程访问)
- localhost为本地权限(不可远程访问)
- 指定特殊Ip访问权限 如10.138.106.102
本狗要查看的是testUser
1
|
show grants for 'testUser' @ '%' ; |
总结
到此这篇关于Mysql8创建用户及赋权操作的文章就介绍到这了,更多相关Mysql8创建用户及赋权内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_45072346/article/details/123671905