欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

Mysql8创建用户以及赋权操作过程

2025年07月09日 Mysql
mysql8创建用户以及赋权操作1、进入mysqlmysql -uroot -p2、创建用户create user 'testuser1'@'%' identified by '123456';这里表

mysql8创建用户以及赋权操作

1、进入mysql

mysql -uroot -p

2、创建用户

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

这里表示创建一个不限制ip登录的用户 testuser1

  • 该用户的密码是 123456
  • %代表不限制ip登录

刷新权限,每一次权限更改后都刷新一下

flush privileges;

在本地新建连接都可以登录该用户了

这个时候你打开会发现只有information_schema一个数据库

3、给用户赋权

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、查看用户权限

show grants for 'testuser1'@'%';

5、撤销用户权限

revoke all privileges on test_grant.* from 'testuser1'@'%';

这里表示撤销用户testuser1对数据库test_grant的所有操作权限

注意:这里如果这么写,你会发现你打开还是有数据库test_grant(不过你无法操作该数据库了),这是因为我之前创建的时候用到了with grant option,因为all privileges 是除了with grant option的所有权限

执行如下语句 回收用户所有权限即可

revoke all privileges,grant option from 'testuser1'@'%';

6、删除用户

drop user 'testuser1'@'%';

7、查询所有用户及其权限

select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;

也可以这样

select user, host from mysql.user;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。