我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 中有哪些用户权限管理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 中有哪些用户权限管理

MySQL 中有哪些用户权限管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

容。

  1.用户权限简介

当我们创建过数据库用户后,还不能执行任何操作,需要为该用户分配适当的访问权限。

关于 MySQL 用户权限简单的理解就是数据库只允许用户做你权利以内的事情,不可以越界。比如只允许你执行 select 操作,那么你就不能执行 update 操作。只允许你从某个 IP 上连接 MySQL ,那么你就不能从除那个 IP 以外的其他机器连接 MySQL 。

在 MySQL 中,用户权限也是分级别的,可以授予的权限有如下几组:

  • 列级别,和表中的一个具体列相关。例如,可以使用 UPDATE 语句更新表 students 中 student_name 列的值的权限。

  • 表级别,和一个具体表中的所有数据相关。例如,可以使用 SELECT 语句查询表 students 的所有数据的权限。

  • 数据库级别,和一个具体的数据库中的所有表相关。例如,可以在已有的数据库 mytest 中创建新表的权限。

  • 全局,和 MySQL 中所有的数据库相关。例如,可以删除已有的数据库或者创建一个新的数据库的权限。

权限信息存储在 mysql 系统库的 user、db、tables_priv、columns_priv、procs_priv 这几个系统表中。

  • user 表:存放用户账户信息以及全局级别(所有数据库)权限。

  • db 表:存放数据库级别的权限,决定了来自哪些主机的哪些用户可以访问此数据库。

  • tables_priv 表:存放表级别的权限,决定了来自哪些主机的哪些用户可以访问数据库的这个表。

  • columns_priv 表:存放列级别的权限,决定了来自哪些主机的哪些用户可以访问数据库表的这个字段。

  • procs_priv 表:存放存储过程和函数级别的权限。

参考官方文档,可授予的权限如下表所示:

MySQL 中有哪些用户权限管理

看起来各种可授予的权限有很多,其实可以大致分为数据、结构、管理三类,大概可分类如下:

MySQL 中有哪些用户权限管理

  2.权限管理实战

我们一般用 grant 语句为数据库用户赋权,建议大家先用 create user 语句创建好用户之后再单独进行授权。下面通过示例来具体看下:

# 创建用户create user 'test_user'@'%' identified by 'xxxxxxxx';# 全局权限GRANT super,select on *.* to 'test_user'@'%';# 库权限GRANT select,insert,update,delete,create,alter,execute on `testdb`.* to 'test_user'@'%';# 表权限GRANT select,insert on `testdb`.tb to 'test_user'@'%';# 列权限GRANT select (col1), insert (col1, col2) ON `testdb`.mytbl to 'test_user'@'%';# GRANT命令说明:super,select 表示具体要授予的权限。ON 用来指定权限针对哪些库和表。*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。TO 表示将权限赋予某个用户。'test_user'@'%' 表示test_user用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。# 刷新权限flush privileges;# 查看某个用户的权限show grants for 'test_user'@'%';# 回收权限revoke delete on `testdb`.* from 'test_user'@'%';

权限管理是一件不容忽视的事,我们不能为了方便而给数据库用户很大的权限。特别是对于生产库,更应该进行权限管控,建议程序用户只赋予增删改查等基础权限,个人用户只赋予查询权限。

出于安全考虑,建议遵循以下几个经验原则:

  • 只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给 select 权限就可以了。

  • 创建用户的时候限制用户的登录主机,一般是限制成指定 IP 或者内网 IP 段。

  • 给各个服务单独创建数据库用户,单个用户最好只能操作单个库。

  • 及时记录各数据库用户权限等信息,以免忘记。

  • 若有外部系统调用,应配置只读用户,并且权限要精确到表或视图。

  • 定期清理不需要的用户,回收权限或者删除用户。

关于MySQL 中有哪些用户权限管理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 中有哪些用户权限管理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 中有哪些用户权限管理

MySQL 中有哪些用户权限管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。容。 1.用户权限简介当我们创建过数据库用户后,还不能执行任何操作,需要为该用户分配适当的访
2023-06-14

MySQL权限管理表有哪些

MySQL的权限管理涉及多个表,以下是其中一些重要的表:1. user表:该表存储MySQL的用户信息,包括用户名、密码等。2. db表:该表存储MySQL数据库的信息,包括数据库名、数据库所有者等。3. tables_priv表:该表存储
2023-09-27

MYSQL用户权限管理

1.在MySQL中,用户是怎么定义的#mysql中,定义一个用户是:用户名@‘主机域‘#用户名写法:用户名如果是字符:mysql> create user [email protected]‘10.0.0.1‘;用户名是数字需要加引号:mysql> creat
MYSQL用户权限管理
2015-02-26

Linux有哪些权限管理

本篇内容主要讲解“Linux有哪些权限管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux有哪些权限管理”吧!文件及目录的权限管理上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用
2023-06-13

Mysql 用户权限管理实现

1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 。 mysql权限表的验证过程为:先从user表中的Host
2022-05-25

MySQL学习——管理用户权限

MySQL学习——管理用户权限摘要:本文主要学习了使用DCL语句管理用户权限的方法。了解用户权限什么是用户用户,指的就是操作和使用MySQL数据库的人。使用MySQL数据库需要用户先通过用户名和密码进行连接,然后才能进行操作,不同的用户可以设置不同的权限,让某
2020-09-09

Linux MySQL的用户权限管理

在Linux MySQL中,用户权限管理是非常重要的,可以通过以下几种方式进行管理:使用GRANT和REVOKE语句:通过GRANT和REVOKE语句可以授予或撤销用户的权限。例如,可以使用GRANT语句授予用户SELECT权限:GRANT
Linux MySQL的用户权限管理
2024-08-16

详解MySQL 用户权限管理

前言: 不清楚各位同学对数据库用户权限管理是否了解,作为一名 DBA ,用户权限管理是绕不开的一项工作内容。特别是生产库,数据库用户权限更应该规范管理。本篇文章将会介绍下 MySQL 用户权限管理相关内容。 1.用户权限简介 当我们创
2022-05-30

MySQL创建用户和权限管理

转自:https://www.cnblogs.com/zhaohaiyu/p/11459613.html一、如何创建用户和密码1.进入到mysql数据库下mysql> use mysqlDatabase changed2.对新用户增删改1.创建用户# 指定ip
MySQL创建用户和权限管理
2020-05-26

Mysql如何实现用户权限管理

小编给大家分享一下Mysql如何实现用户权限管理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. MySQL 权限介绍mysql中存在4个控制权限的表,分别为u
2023-06-15

编程热搜

目录