MySQL用户权限设置保护数据库安全
作者:假装我不帅 发布时间:2024-01-16 09:03:07
标签:MySQL,用户,权限,设置
更改mysql密码
-- 查询用户权限
show grants for 'root'@'%';
update mysql.user set authentication_string=password('密码') where user='root' and Host = 'localhost';
flush privileges;
-- 或者下面方式
alter user 'test1'@'localhost' identified by '新密码';
flush privileges;
创建用户
-- 创建本地的
-- create user 'test1'@'localhost' identified by '密码';
-- 创建可以远程访问的
create user 'wjl'@'%' identified by 'wujialiang';
给用户所有权限
-- grant all privileges on *.* to 'wjl'@'localhost' with grant option;
grant all privileges on *.* to 'wjl'@'%' with grant option;
第一个表示通配数据库,可指定新建用户只可操作的数据库
如:grant all privileges on 数据库. to ‘test1’@‘localhost’;
第二个*表示通配表,可指定新建用户只可操作的数据库下的某个表
如:grant all privileges on 数据库.指定表名 to ‘test1’@‘localhost’;
all privileges 可换成select,update,insert,delete,drop,create等操作 如:grant select,insert,update,delete on . to ‘test1’@‘localhost’;
移除用户所有权限
-- revoke all privileges on *.* from 'wjl'@'localhost';
revoke all privileges on *.* from 'wjl'@'%';
添加部分权限
-- GRANT Select,Update,insert,delete ON *.* TO '用户名'@"%";
GRANT select,update,insert,delete ON *.* TO 'wjl'@"%";
移除部分权限
-- REVOKE select,insert ON 数据库.* FROM wjl@'localhost'
REVOKE select,insert ON 数据库.* FROM wjl@'%'
删除用户
drop user 'wjl'@'localhost';
权限解释
参数 | 解释 |
---|---|
All/All Privileges | 代表全局或者全数据库对象级别的所有权限 |
Alter | 代表允许修改表结构的权限,但必须要求有create和insert权限配合。如果是rename表名,则要求有alter和drop原表, create和insert新表的权限 |
Alter routine | 代表允许修改或者删除存储过程、函数的权限 |
Create | 代表允许创建新的数据库和表的权限 |
Create routine | 代表允许创建存储过程、函数的权限 |
Create tablespace | 代表允许创建、修改、删除表空间和日志组的权限 |
Create temporary tables | 代表允许创建临时表的权限 |
Create user | 代表允许创建、修改、删除、重命名user的权限 |
Create view | 代表允许创建视图的权限 |
Delete | 代表允许删除行数据的权限 |
Drop | 代表允许删除数据库、表、视图的权限,包括truncate table命令 |
Event | 代表允许查询,创建,修改,删除MySQL事件 |
Execute | 代表允许执行存储过程和函数的权限 |
File | 代表允许在MySQL可以访问的目录进行读写磁盘文件操作,可使用的命令包括load data infile,select … into outfile,load file()函数 |
Grant option | 权限代表是否允许此用户授权或者收回给其他用户你给予的权限,重新付给管理员的时候需要加上这个权限 |
Index | 代表是否允许创建和删除索引 |
Insert | 代表是否允许在表里插入数据,同时在执行analyze table,optimize table,repair table语句的时候也需要insert权限 |
Lock | 代表允许对拥有select权限的表进行锁定,以防止其他链接对此表的读或写 |
Process | 代表允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令 |
Reference | 是在5.7.6版本之后引入,代表是否允许创建外键 |
Reload | 代表允许执行flush命令,指明重新加载权限表到系统内存中,refresh命令代表关闭和重新开启日志文件并刷新所有的表 |
Replication client | 代表允许执行show master status,show slave status,show binary logs命令 |
Replication slave | 代表允许slave主机通过此用户连接master以便建立主从复制关系 |
Select | 代表允许从表中查看数据,某些不查询表数据的select执行则不需要此权限,如Select 1+1, Select PI()+2;而且select权限在执行update/delete语句中含有where条件的情况下也是需要的 |
Show databases | 代表通过执行show databases命令查看所有的数据库名 |
Show view | 代表通过执行show create view命令查看视图创建的语句 |
Shutdown | 代表允许关闭数据库实例,执行语句包括mysql admin shutdown |
Super | 代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令, change master to创建复制关系命令,以及create/alter/drop server等命令 |
Trigger | 代表允许创建,删除,执行,显示触发器的权限 |
Update | 代表允许修改表中的数据的权限 |
Usage | 是创建一个用户之后的默认权限,其本身代表连接登录权限 |
案例
普通用户权限
grant all privileges on *.* to 'wjl'@'%' with grant option;
REVOKE Shutdown,Process,Grant option,Drop ON *.* FROM wjl@'%';
flush privileges;
来源:https://blog.csdn.net/qq_36437991/article/details/130523115


猜你喜欢
- 如果一个数字能表示成 p^q,且p是一个素数,q为大于1的正整数,则此数字就是超级素数幂。 param number: 测试该数字是否是超级
- 一、需求来源工作中需要一种树形菜单组件,经过两天的构思最终通过作用域插槽实现: 此组件将每个节点(插槽名为 node)暴露出来。通过插槽的
- 核心代码:#!/usr/bin/python#-*- coding:gbk -*-#设置源文件输出格式import sysimport ge
- 1.引言环形图(圆环)在功能上与饼图相同,整个环被分成不同的部分,用各个圆弧来表示每个数据所占的比例值。但其中心的空白可用于显示其他相关数据
- 伴随着自然语言技术和机器学习技术的发展,越来越多的有意思的自然语言小项目呈现在大家的眼前,聊天机器人就是其中最典型的应用,今天小编就带领大家
- 隐藏并修改文件的最后修改时间的asp-webshell。源码:<% '隐藏并修改文件的最后修改时间的aspshell '
- Redis持久化机制实现原理是什么?流程是什么?持久化就是把内存中的数据存放到磁盘中,防止宕机后内存数据丢失。按照指定的时间间隔内将内存的数
- Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的
- 本文实例讲述了Python实现带参数的用户验证功能装饰器。分享给大家供大家参考,具体如下:user_list = [ {'
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。
- 前言Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式 。它借鉴了Flux、redux的基本思想,将共享的数据抽离到全局,同时
- 今天搭了个“发短信”的页面,找朋友测试,没想到一位大侠直接弄了本长篇小说发我手机上……为了我的宝贝手机能继续健康澎湃,给文本区域(texta
- 我们在建立一个大型网站的时候会有很多副页面框架模式,甚至一些细节元素都是相同的。但令人困扰的是更新它们却要费些周折,要一遍遍地反复更新每个页
- 从照片里面获取GPS信息。可交换图像文件常被简称为EXIF(Exchangeable
- 本文假设某些特定类型的文件和大小为0的文件为垃圾文件,可以自由扩展代码的列表,也就是垃圾文件的类型。from os.path import
- 从AspJpeg1.8 版本开始,AspJpeg 提供了比 PrintText 更为灵活的文本绘图方法PrintTextEx,PrintTe
- 导语各位戏精大家好!我是木木子,这个中秋已经结束了,你们都带着对象回家了码?中秋那几天朋友圈简直是大型秀恩爱现场。又是一年中秋夜,依旧凭实力
- QTableWidget介绍QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWid
- 本文将结合实例代码,介绍 OpenCV 如何查找轮廓、获取边界框。代码: contours.pyOpenCV 提供了 findContour