首页 > 数据库 >MySQL教程 - 权限管理

MySQL教程 - 权限管理

时间:2022-09-05 07:55:39浏览次数:58  
标签:教程 GRANT Create 用户 user MySQL 权限 priv

更新记录
转载请注明出处。
2022年9月5日 发布。
2022年9月5日 从笔记迁移到博客。

MySQL中用户类型

普通用户
root(超级管理员)

MySQL中系统自带数据库

information_schema
mysql
performance_schema
sys

mysql数据库的作用

权限管理

user权限表

说明

表示用户信息和用户权限信息

作用

管理用户的全局DDL、DQL、DML、DCL权限
管理用户的密码

属性分类

  • 第一部分:用户信息的属性
    主要包含HOST/USER/PASSWORD等属性,这是核心信息
  • 第二部分:以priv结尾的属性
    用户DDL、DQL、DML、DCL的权限控制,值是Y或者N
  • 第三部分:SSL相关的属性
    默认没有SSL,所以属性值为空
  • 第四部分:用户资源限制属性
    主要包含对用户请求、连接数量等的限制,默认不限制

用户信息列

Host
User
password_expired
password_last_changed
password_lifetime
account_locked

权限列

Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv
Reload_priv
Shutdown_priv
Process_priv
File_priv
Grant_priv
References_priv
Index_priv
Alter_priv
Show_db_priv
Super_priv
Create_tmp_table_priv
Lock_tables_priv
Execute_priv
Repl_slave_priv
Repl_client_priv
Create_view_priv
Show_view_priv
Create_routine_priv
Alter_routine_priv
Create_user_priv
Event_priv
Trigger_priv
Create_tablespace_priv

安全列

ssl_type
ssl_cipher
x509_issuer
x509_subject
plugin
authentication_string

资源控制列

max_questions
max_updates
max_connections
max_user_connections

图示
image
image
image
image

db权限表

说明

数据库的操作权限

用户列

Host
Db
User

权限列

Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv
Grant_priv
References_priv
Index_priv
Alter_priv
Create_tmp_table_priv
Lock_tables_priv
Create_view_priv
Show_view_priv
Create_routine_priv
Alter_routine_priv
Execute_priv
Event_priv
Trigger_priv

图示

image

host权限表

说明

主机的操作权限

主要属性

第一部分:用户、数据库信息

​ 主要包含Host、DB、User列

第二部分:权限列

​ 主要包含数据库相关的DDL/DQL/DML/DCL的权限

用户列

Host
Db

权限列

Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv
Grant_priv
References_priv
Index_priv
Alter_priv
Create_tem_table_priv
Lock_tables_priv
Create_view_priv
Show_view_priv
Create_routine_priv
Alter_routine_priv
Execute_priv
Trigger_priv

图示

image

tables_priv权限表

说明

表权限操作

主要字段

Host
Db
User
Table_name
Grantor
Timestamp
Table_priv
Column_priv

图示

image

columns_priv权限表

说明

列权限操作

主要字段

Host
Db
User
Table_name
Column_name
Timestamp
Column_priv

图示

image

proces_priv权限表

说明

存储过程和函数的权限

主要字段

Host
Db
User
Routine_name
Routine_type
Grantor
Proc_priv
Timestamp

图示

image

授予权限

语法 使用GRANT:

GRANT [ALL] 权限,权限,... ON 数据库.数据表 TO 用户名@主机 
WITH [限制选项];

备注:权限可以是上个小节中的权限名称的集合,EG:SELECT,UPDATE
限制选项可以是以下的一个或多个:

MAX QUERIES PER HOUR v      		//表示每小时可以查询v次
MAX UPDATES PER HOUR v         //表示每小时可以更新v次
MAX CONNECTIONS PER HOUR v     //表示每小时可以建立v次连接
MAX USER_CONNECTIONS    v      //表示该用户可以同时有的连接数量为v个
GRANT OPTION                   //表示该用户可以将同样的权限给别的用户

限制选项是可选的
选择所有数据库可以使用.
实例:

GRANT SELECT,UPDATE,INSERT ON *.* TO user@localhost IDENTIFIFD BY '123456' WITH GRANT OPTION;

回收权限
回收权限-REVOKE
语法 使用REVOKE:

REVOKE [ALL] 权限,权限,... ON 数据库.数据表 FROM '用户名'[@'主机'];

回收所有权限的语法:

REVOKE ALL PRIVILEGES,GRANT OPTION FROM '用户名'@'主机';

回收权限-操作user表

UPDATE mysql.user SET 权限名称 = '权限值' WHERE user= '用户名';

查看权限

语法一 使用SHOW GRANT:

SHOW GRANT FOR '用户名'[@'主机'];

语法二 查看USER表:

SELECT * FROM mysql.user;

权限控制流程

检测用户名、密码和主机是否匹配

检测是否有权限

流程:用户发起请求 -> 检测User表权限 -> 检测db表权限 -> 检测tables_priv表权限 -> 检测columns_priv表权限

权限对应的列

image

image

标签:教程,GRANT,Create,用户,user,MySQL,权限,priv
From: https://www.cnblogs.com/cqpanda/p/16656757.html

相关文章

  • 2022年JDK安装(Java安装)详细教程(window)
    ​ 目录一、下载1、下载二、安装1、jdk安装2、jre安装三、检测 一、下载1、下载链接:https://pan.baidu.com/s/1x9xh93LvjqfaPqbByRhgqA提取码:6bso--来自百......
  • 2022年sublime安装教程超简单
    ​ SublimeText是一款用于代码、标记和散文的精致文本编辑器。对于我这种写python的新手小白非常友好一、下载链接:https://pan.baidu.com/s/10Gzdwntxjox8UWC-OJjlwg......
  • 2022年vscode安装教程(小白专用)
    ​ 目录1、下载2、安装路径3、相关配置4、中文配置 1、下载链接:https://pan.baidu.com/s/1v7cGcvcQX8U64brZBoTQzQ提取码:85a1--来自百度网盘超级会员V4的分享2......
  • 2022年MinGW-w64的安装及配置教程(傻瓜式)
    1、下载:链接:https://pan.baidu.com/s/1-JhvI-x_KqxYOdWRB2C1rg提取码:scd1--来自百度网盘超级会员V4的分享2、解压1、解压到自己想要的目录(最好不要有中文路径),并复制文......
  • mysql备份还原
    一、环境配置操作系统版本:RockyLinuxrelease8.6(GreenObsidian)系统内核:Linuxmysql4.18.0-372.9.1.el8.x86_64#1SMPTueMay1014:48:47UTC2022x86_64x86_......
  • 使用媒体查询的响应式菜单 - 教程
    使用媒体查询的响应式菜单-教程HTML在HTML中,我们有标题和菜单。在菜单项中,我们有桌面和移动元素。屏幕大于500px时显示桌面,小于500px时显示手机。在移动类中,我们将......
  • docker实战教程(一):安装
    centosdocker安装docker并非是一个通用的容器工具,它依赖于已存在的linux内核环境。docker实质上是在已运行的linux环境下制造了一个隔离的文件环境,因此它执行的效率几乎......
  • Linux 安装MySql
     1.下载MySql下载MySql:https://downloads.mysql.com/archives/community/2.上传到linux服务器上    3.解压将xz转换成tarxz-dmysql-8.0.20-linux-glibc2......
  • Mysql提权
    跑项目久了,太久没做技术,好多东西不记得翻车了,好记性不如烂笔头吧。场景:通过Webshell拿到了数据库的连接地址一些网站源代码文件中会包含数据库连接文件,通过查看这些文件可......
  • [SDR] GNU Radio 系列教程(二) —— 绘制第一个信号分析流程图
    目录1、前言2、启动GNURadio3、新增块4、运行本文视频参考链接1、前言本文将介绍如何在GNURadio中创建和运行第一个流程图。2、启动GNURadioGNURadioCompa......