Mysql8创建用户及赋权操作实战记录

 更新时间:2022年04月15日 11:24:23   作者:浪月缘  
一般在开发中,我们需要新建一个账户,并赋予某个数据库的访问权限,下面这篇文章主要给大家介绍了关于Mysql8创建用户及赋权操作的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

1、进入mysql

mysql -uroot -p

2、创建用户

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

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

该用户的密码是 123456

%代表不限制ip登录

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

flush privileges;

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

登录用户testuser1

这个时候你打开会发现只有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'@'%';

查看用户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;

附:查看用户权限

show grants for ‘#userName'@'#host';

#userName 代表用户名

#host 代表访问权限,如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

🐶本狗要查看的是testUser

show grants for 'testUser'@'%';

总结

到此这篇关于Mysql8创建用户及赋权操作的文章就介绍到这了,更多相关Mysql8创建用户及赋权内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL查看视图的三种方法

    MySQL查看视图的三种方法

    本文主要介绍了MySQL查看视图的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • MySQL数据库自连接实例讲解

    MySQL数据库自连接实例讲解

    针对相同的表进行的连接被称为"自连接"(self join),下面这篇文章主要给大家介绍了关于MySQL数据库自连接实例讲解的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • MySQL时区差8小时的多种问题解决方法

    MySQL时区差8小时的多种问题解决方法

    mybatis将本地的数据传入到mysql数据库服务器的时候,服务器会对数据进行检测,会把date类型的数据自动转换为mysql服务器所对应的时区,即0时区,所以会相差8小时,本文给大家介绍了MySQL时区差8小时的问题解决方法,需要的朋友可以参考下
    2024-01-01
  • MySQL实现自然连接查询的示例

    MySQL实现自然连接查询的示例

    MySQL自然连接是一种基于共同列名自动执行的查询方式,无需显式指定连接条件,自然连接的结果可能会受到列名和表结构的影响,因此在使用自然连接时需谨慎,本文就来介绍一下如何使用,感兴趣的可以了解一下
    2024-09-09
  • mysql查询字段类型为json时的两种查询方式

    mysql查询字段类型为json时的两种查询方式

    这篇文章主要介绍了mysql查询字段类型为json时的两种查询方式,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 解决MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails

    解决MySQL遇到错误:1217 - Cannot delete or 

    这篇文章主要介绍了解决MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • mysql8.0.11 winx64手动安装配置教程

    mysql8.0.11 winx64手动安装配置教程

    这篇文章主要为大家详细介绍了mysql8.0.11 winx64手动安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • show engine innodb status显示信息不全如何解决

    show engine innodb status显示信息不全如何解决

    执行 show engine innodb status\G 时,显示的信息不全,DEADLOCK相关信息太多,后面的都没了
    2012-11-11
  • IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug

    IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug

    这篇文章主要介绍了IDEA使用mybatis-generator以及配上mysql8.0.3版本遇到的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • MySQL中复合索引和覆盖索引的区别详解

    MySQL中复合索引和覆盖索引的区别详解

    这篇文章主要介绍了MySQL中复合索引和覆盖索引的区别详解,复合索引是一种索引,它包含多个字段,复合索引能够使一个SQL查询多个条件时也能走索引,提高查询性能,需要的朋友可以参考下
    2023-11-11

最新评论