0

0

mysql有哪些权限

青灯夜游

青灯夜游

发布时间:2022-04-12 14:04:08

|

21877人浏览过

|

来源于php中文网

原创

mysql权限有:1、USAGE,只能用于数据库登录,不能执行任何操作;2、SELECT,允许使用SELECT语句查看表内容的权限;3、super,允许执行一系列数据库管理命令;4、process,允许查看进程信息;5、Shutdown等。

mysql有哪些权限

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

mysql各种权限:

bc90c41cdde6e6ba38c8fc204fe17fe4.png

1、USAGE:连接(登录)权限,建立一个用户,就会自动授予其usage权限(默认授予)。

该权限只能用于数据库登录,不能执行任何操作,且该权限不能被回收,即使使用REVOKE也不能删除用户权限。

 grant usage on *.* to 'iap'@'%' identified by 'iap123';

2、数据类下权限

2.1、SELECT:使用SELECT查看表内容的权限,拥有此权限才能执行SELECT查询。

grant select on testdb.* to 'iap'@'%';

2.2、insert

必须有insert的权限,才可以使用insert into ….. values….

2.3、update

必须有update的权限,才可以使用update table。

 update shop set price=3.5 where article=0001 and dealer='A';

2.4、delete

必须有delete的权限,才可以使用delete from ….where….(删除表中的记录)

2.5、file (不是针对某个数据库的,因此须使用on *.* 来进行)

file 权限指的是对服务器主机上文件的访问,数据库用户拥有file权限才可以执行select ..into outfile,load data infile…操作.

但是不要把file, process, super权限授予管理员以外的账号,这样存在严重的安全隐患。

grant file on *.* to 'iap'@'%';

导出文件: select ... into outfile '文件路径'

查看导入、导出路径设置:show variables like '%sec%' ;

secure-file-priv参数是用来限制load data, select ... outfile, and load_file()传到哪个指定目录的。

具体修改方法: https://blog.csdn.net/weixin_39631030/article/details/79873936

导入文件: load data infile '文件绝对路径'  into  table 表名;

具体使用方法:https://www.cnblogs.com/darange/p/10508714.html

3、结构权限

3.1、CREATE:创建表的权限。必须有create的权限,才可以使用create table。

grant create on testdb.* to 'iap'@'%'

3.2、alter

必须有alter的权限,才可以使用alter table

grant alter on testdb.* to 'iap'@'%'

例: alter table shop modify dealer char(15);

3.3、index

必须拥有index权限,才能执行[create |drop] index

grant index on testdb.* to 'iap'@'%';

create index ix_shop on shop(article);

drop index ix_shop on shop;

3.4、drop

必须有drop的权限,才可以使用

grant drop on testdb.* to 'iap'@'%';

drop database db_name;

drop table table_name;

drop view view_name;

drop index index_name;

3.5、create temporary tables(注意这里是tables,不是table)

必须有create temporary tables的权限,才可以使用create temporary tables.

-- 授予iap@localhost 创建临时表权限
grant create temporary tables on testdb.* to 'iap'@'%';

--例 :  iap 用户登录,创建临时表
create temporary table tt1(id int);

3.6、show view 

必须拥有show view权限,才能执行show create view

grant show view on testdb.* to 'iap'@'%';

show create view view_shop;

3.7、CREATE ROUTINE:创建procedure或function的权限。

如果用户有create routine 权限那么他就可以创建procedure | function 。

create  {procedure|function}

如果用户创建了procedure | function 那么mysql 自动授予EXECUTE, ALTER ROUTINE权限给它的创建者:

grant create routine on testdb.* to 'iap'@'%';

3.8、alter routine

必须具有alter routine的权限,才可以使用

{alter |drop} {procedure|function}

-- 授予 testdb数据库 修改/删除 存储过程/函数的权限
grant alter routine on testdb.* to 'iap'@'%';

3.9、excute

执行存在的FunctionsProcedures。

Yodayo
Yodayo

一个专为动漫迷和vTuber打造的AI艺术创作平台、交流社区

下载
grant execute on testdb.* to 'iap'@'%';

3.10 、create view

必须有create view的权限,才可以使用 create view 创建视图。

-- 授予'iap'@'localhost'创建视图权限
grant create view on testdb.* to 'iap'@'%';

-- 例 : 'iap'@'localhost' 登录,创建v_shop视图
create view v_shop as select price from shop;

3.11 、event

 event : 允许查询,创建,修改,删除MySQL事件.

事件适用范围:对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。

详细说明:https://www.cnblogs.com/langtianya/p/5445528.html

例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表。

3.12 、Trigger

Trigger权限代表允许创建,删除,执行,显示触发器的权限.

4、管理权限

4.1、grant option

拥有grant option,就可以将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)

grant grant option on testdb.* to 'iap'@'%';

4.2、super

Super权限代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令, change master to创建复制关系命令,以及create/alter/drop server等命令,修改全局变量的SET语句

mysql> grant super on *.* to p1@localhost;
mysql> purge master logs before ‘mysql-bin.000006′;

4.3、 process

Process权限代表允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令

通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。

show PROCESSLIST

另外,管理权限(如 super, process, file等)不能够指定某个数据库,on后面必须跟*.*

grant super on *.* to p1@localhost;

4.4、Shutdown

shutdown权限代表允许关闭数据库实例,执行语句包括 : mysqladmin shutdown.

4.5、 show database

通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。

对于iap@%t用户来说,没有对mysql数据库的权限,所以以此身份登陆查询时,无法看到mysql数据库:

4.6、reload

必须拥有reload权限,才可以执行flush [tables | logs | privileges]

reload 是 administrative 级的权限,即 server administration;

这类权限包括: create user,  process,  reload,  replication client,  replication slave,  show databases,  shutdown, super
这类权限的授权不是针对某个数据库的,因此须使用on *.* 来进行

grant reload on *.* to 'iap'@'%'

4.7、lock tables

必须拥有lock tables权限,才可以使用lock tables

grant lock tables on testdb.* to 'iap'@'localhost';

 lock tables a1 read;

unlock tables;

4.8、references

有了references权限,用户就可以将其它表的一个字段作为某一个表的外键约束。

4.9、replication client

Replication client权限代表允许执行show master status,  show slave status,   show binary logs命令

4.10、replication slave

Replication slave权限代表允许slave主机通过此用户连接master以便建立主从复制关系,可以查看从服务器,从主服务器读取二进制日志。

grant replication slave on *.* to 'iap'@'%';

show slave hosts;

show binlog events;

4.11、Create user

Create user权限代表允许创建、修改、删除、重命名user的权限。

5、权限类型 表格

5.1、授予数据库权限时,<权限类型>表格:

权限名称 对应user表中的字段 说明
SELECT Select_priv 表示授予用户可以使用 SELECT 语句访问特定数据库中所有表和视图的权限。
INSERT Insert_priv 表示授予用户可以使用 INSERT 语句向特定数据库中所有表添加数据行的权限。
DELETE Delete_priv 表示授予用户可以使用 DELETE 语句删除特定数据库中所有表的数据行的权限。
UPDATE Update_priv 表示授予用户可以使用 UPDATE 语句更新特定数据库中所有数据表的值的权限。
REFERENCES References_priv 表示授予用户可以创建指向特定的数据库中的表外键的权限。
CREATE Create_priv 表示授权用户可以使用 CREATE TABLE 语句在特定数据库中创建新表的权限。
ALTER Alter_priv  表示授予用户可以使用 ALTER TABLE 语句修改特定数据库中所有数据表的权限。
SHOW VIEW Show_view_priv 表示授予用户可以查看特定数据库中已有视图的视图定义的权限。
CREATE ROUTINE Create_routine_priv 表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。
ALTER ROUTINE Alter_routine_priv 表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。
INDEX Index_priv 表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。
DROP Drop_priv 表示授予用户可以删除特定数据库中所有表和视图的权限。
CREATE TEMPORARY TABLES Create_tmp_table_priv 表示授予用户可以在特定数据库中创建临时表的权限。
CREATE VIEW Create_view_priv 表示授予用户可以在特定数据库中创建新的视图的权限。
EXECUTE ROUTINE Execute_priv 表示授予用户可以调用特定数据库的存储过程和存储函数的权限。
LOCK TABLES Lock_tables_priv 表示授予用户可以锁定特定数据库的已有数据表的权限。
ALL 或 ALL PRIVILEGES 或 SUPER Super_priv 表示以上所有权限/超级权限

5.2、授予表权限时,<权限类型>可以指定为以下值:

权限名称 对应user表中的字段 说明
SELECT Select_priv 授予用户可以使用 SELECT 语句进行访问特定表的权限
INSERT Insert_priv 授予用户可以使用 INSERT 语句向一个特定表中添加数据行的权限
DELETE Delete_priv 授予用户可以使用 DELETE 语句从一个特定表中删除数据行的权限
DROP Drop_priv 授予用户可以删除数据表的权限
UPDATE Update_priv 授予用户可以使用 UPDATE 语句更新特定数据表的权限
ALTER Alter_priv  授予用户可以使用 ALTER TABLE 语句修改数据表的权限
REFERENCES References_priv 授予用户可以创建一个外键来参照特定数据表的权限
CREATE Create_priv 授予用户可以使用特定的名字创建一个数据表的权限
INDEX Index_priv 授予用户可以在表上定义索引的权限
ALL 或 ALL PRIVILEGES 或 SUPER Super_priv 所有的权限名

5.3、授予列权限

授予列权限时,<权限类型>的值只能指定为 SELECT、INSERT 和 UPDATE,同时权限的后面需要加上列名列表 column-list。

5.4、最有效率的权限是用户权限。

授予用户权限时,<权限类型>除了可以指定为授予数据库权限时的所有值之外,还可以是下面这些值:

  • CREATE USER:表示授予用户可以创建和删除新用户的权限。
  • SHOW DATABASES:表示授予用户可以使用 SHOW DATABASES 语句查看所有已有的数据库的定义的权限。

【相关推荐:mysql视频教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

36

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

135

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

47

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

90

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

226

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

502

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

170

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

286

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2.5万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 848人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号