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 中的 user 表的 id 默认是自增的,但是数据库存储的结果却不是连续的,你知道是什么原因吗,本文就详细的介绍一下,感兴趣的可以了解一下
    2021-09-09
  • MySQL CHECK约束的实现示例

    MySQL CHECK约束的实现示例

    使用CHECK约束可以确保在插入或更新记录时,某列或某组列的值满足特定的条件,本文主要介绍了MySQL CHECK约束的实现示例,感兴趣的可以了解一下
    2024-07-07
  • MySQL数据库自增主键的间隔不为1的解决方式

    MySQL数据库自增主键的间隔不为1的解决方式

    这篇文章主要介绍了MySQL数据库自增主键的间隔不为1的解决方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 论一条select语句在MySQL是怎样执行的

    论一条select语句在MySQL是怎样执行的

    本文将建立一套建立一套MySQL的知识框架,通过讨论select语句在MySQL是怎样执行的来展开内容,感兴趣的小伙伴一起来看下文吧
    2021-08-08
  • MySQL数据库查询之多表查询总结

    MySQL数据库查询之多表查询总结

    最近遇到了多表查询的需求,也称为关联查询,指两个或更多个表一起完成查询操作,下面这篇文章主要给大家介绍了关于MySQL数据库查询之多表查询的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 在Linux系统安装MySql步骤截图详解

    在Linux系统安装MySql步骤截图详解

    本文给大家介绍的是linux系统下使用官方编译好的二进制文件进行安装MySql的安装过程和安装截屏,这种安装方式速度快,安装步骤简单。需要的朋友可以参考下在Linux系统安装MySql步骤截图详解
    2016-10-10
  • MySQL分区表语法解读

    MySQL分区表语法解读

    MySQL分区表主要用于提高查询效率,通过将数据分割成更小的部分进行管理,文章详细介绍了如何创建、查询、修改和存储分区表,包括创建复合主键、按年份和月份分区、删除分区、查询分区数据以及利用存储过程批量转换非分区表为分区表等方法
    2025-02-02
  • mysql常用命令大全 mysql常用命令总结

    mysql常用命令大全 mysql常用命令总结

    本文介绍下,mysql中常用的一些命令,包括创建与修改数据库、数据库中的表,mysql的权限管理命令grant、revoke等的用法。有需要的朋友参考下
    2014-01-01
  • MySQL Binlog 日志监听与 Spring 集成实战场景

    MySQL Binlog 日志监听与 Spring 集成实战场景

    MySQL 的二进制日志(binlog)有三种常见的格式:Statement 模式、Row 模式和Mixed 模式,这篇文章主要介绍了MySQL Binlog 日志监听与 Spring 集成实战,需要的朋友可以参考下
    2024-12-12
  • Mysql 数据库双机热备的配置方法

    Mysql 数据库双机热备的配置方法

    mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。
    2010-06-06

最新评论