MySQL必知必会 学习笔记 第二十八章 安全管理

2023-11-09

用户应该具有适当的访问权,既不能多也不能少。

MySQL Administrator提供了图形界面,可用来管理用户和账号权限。

MySQL创建一个名为root的用户账号,它对整个MySQL服务器有完全的控制。在日常工作中,决不能使用root,而应创建一系列账号供不同用户使用,防止恶意或无意地破坏数据库。

MySQL的用户账号和信息存储在名为mysql的数据库中,获取所有用户的账号列表:

USE mysql;
SELECT user FROM user;

user表中包含所有用户账号,表中user列存储用户登录名,新服务器可能只有一个root用户。

更改权限时最好打开多个数据库客户机,一个更改权限,一个测试被更改的权限。

创建新用户:

CREATE USER ben IDENTIFIED BY 'password';

以上创建了新用户ben,密码是password。

IDENTIFIED BY指定的密码为纯文本,MySQL将其保存在user表之前进行了加密。创建用户时,如果以加密后的散列值作为口令要使用IDENTIFIED BY PASSWORD子句。

GRANT语句也可以创建用户,但CREATE USER更简单和清楚。也可以直接向user表中插入行来增加用户,但为了安全,不要这么做,MySQL存储用户账号信息的表和表模式极为重要,对它们的破坏会破坏MySQL服务器,因此最好使用指令和函数处理这些表。

重命名一个用户:

RENAME USER oldName TO newName;

MySQL 5之后才支持RENAME USER语句。在此之前为了重命名一个用户,需要使用UPDATE语句直接更新user表。

删除用户账号和相关权限:

DROP USER userName;

DROP USER在MySQL 5之后才支持,在此之前,DROP USER只能用来删除用户账号,不能删除相关权限,因此旧版本需要先REVOKE删除此账号的权限,再删除用户。

创建用户后,要分配访问权限,否则新用户只能登录MySQL,不能看到数据,也不能执行任何数据库操作。查看用户的权限:

SHOW GRANTS FOR userName;

在这里插入图片描述
输出显示用户ben有权限USAGE ON *.*,USAGE表示没有权限,此结果表示在任意数据库和任意表上对任何东西都没有权限。

MySQL的权限用用户名和主机名结合定义,如果不指定主机名,默认值%,它表示授予用户访问权限而不管主机名。

授予权限:

GRANT SELECT ON crashcourse.* TO ben;

上例授予ben对数据库crashcourse中所有表的SELECT权限。

撤销权限:

REVOKE SELECT ON crashcourse.* FROM ben;

被撤销的权限必须存在,否则报错。

可授予和撤销的权限:
在这里插入图片描述
在这里插入图片描述
使用GRANT和REVOKE时,用户账号必须存在,但所涉及的数据库或表等对象不必存在,这允许管理员在创建数据库和表前先设计和实现安全措施。副作用为删除某个库或表时,相关的访问权限仍存在,如果重建同名库或表,权限仍起作用。

简化多次授权:

GRANT SELECT, INSERT ON crashcourse.* TO bforta;

更改用户口令:

SET PASSWORD FOR bforta = Password('密码');

新口令必须使用Password函数加密。

更改自己的口令:

SET PASSWORD = Password('密码');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL必知必会 学习笔记 第二十八章 安全管理 的相关文章

  • MYSQL必知必会:格式化导入导出数据集

    在mysql中 我们可以把查询到的结果集通过自定义的格式打印到指定文件内 指定文件不存在 如果指定文件存在 则失败 下面是表结构合表数据 1 格式化导出数据 把表order info的所有记录的所有字段导入到 d 1 sql 文件内 sel
  • MySQL必知必会 学习笔记 第三章 使用MySQL

    为连接到MySQL 需要 1 主机名 如连接到本地MySQL服务器 为localhost 2 端口 如使用默认的3306以外的端口 3 用户名 4 用户口令 连接到MySQL时 没有任何数据库打开供你使用 打开数据库 use databas
  • MySQL必知必会 学习笔记 第十九章 插入数据

    插入可用以下方式进行 1 插入完整行 2 插入行的一部分 3 插入多行 4 插入某些查询的结果 可针对每个表或每个用户 利用MySQL的安全机制禁止使用INSERT语句 插入语句没有输出 插入完整的行 INSERT INTO tableNa
  • MySQL必知必会 学习笔记 第二十六章 管理事务处理

    并非所有引擎都支持事务处理 MyISAM不支持 InnoDB支持 事务处理可用来维护数据库的完整性 它保证成批的MySQL操作要么完全执行 要么完全不执行 如果没有错误发生 整组语句写到数据库表 如果发生错误 将已经执行的部分语句进行回退
  • MySQL必知必会——第十四章使用子查询

    使用子查询 本章介绍什么是子查询以及如何使用它们 子查询 SELECT语句是SQL的查询 目前我们用的所有SELECT语句都是从单个数据库表中检索数据的单条简单语句 查询 query 任何SQL语句都是查询 但此术语一般指SELECT语句
  • MySQL必知必会 学习笔记 第一章 了解SQL

    数据库是保存有组织的数据的容器 通常是一个或一组文件 数据库软件称为DBMS 数据库管理系统 数据库是被DBMS创建和操纵的容器 数据库究竟是文件或其他东西并不重要 因为你不会直接访问数据库 而是间接通过DBMS替你访问数据库 表是某种特定
  • MySQL必知必会 学习笔记 第十四章 使用子查询

    MySQL 4 1引入了子查询 任何SQL语句都是查询 但此术语一般指SELECT语句 有两张表 一张是语言表 一张是电影表 选出语言是英语的电影 SELECT title FROM film WHERE language id IN SE
  • MySQL必知必会——第十章创建计算字段

    创建计算字段 本章介绍什么是计算字段 如何创建计算字段以及怎样从应用程序中使用别名引用它们 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式 例如 想在一个字段中显示公司名和地址 但公司名和地址在不同的列中等等 我们需要直接从数
  • MySQL必知必会 学习笔记 第九章 用正则表达式进行搜索

    正则表达式是用来匹配文本的特殊的串 它用正则表达式语言来建立 MySQL支持的正则表达式仅为正则表达式的一个很小的子集 可通过WHERE子句使用正则表达式过滤SELECT检索出的数据 检索条件列包含字符100的所有行 SELECT colu
  • MySQL必知必会——第十七章组合查询

    组合查询 本章讲述如何利用UNION操作符将多条SELECT语句组合成一个结果集 组合查询 多数SQL查询都只包含从一个或多个表中返回数据的单条SELECT语句 MySQL也允许执行多个查询 并将结果作为单个查询结果返回 这些组合查询通常称
  • MySQL必知必会——第二十章更新和删除数据

    更新和删除数据 本章介绍如何利用UPDATE和DELETE语句进一步操纵表数据 更新数据 为了更新 修改 表中的数据 可以使用UPDATE语句 UPDATE的两种用法 更新表中特定行 更新表中所有行 不要省略WHERE子句 缺少WHERE子
  • MySQL必知必会 学习笔记 第二十八章 安全管理

    用户应该具有适当的访问权 既不能多也不能少 MySQL Administrator提供了图形界面 可用来管理用户和账号权限 MySQL创建一个名为root的用户账号 它对整个MySQL服务器有完全的控制 在日常工作中 决不能使用root 而
  • MySQL必知必会 学习笔记 第七章 数据过滤

    可用AND操作符给WHERE子句附加条件 SELECT columnName FROM tableName WHERE columnName1 1 AND columnName2 2 OR操作符指示MySQL匹配符合操作符任一端条件的行 S
  • MySQL必知必会——第六章过滤数据

    过滤数据 本章将讲授如何使用SELECT语句的WHERE子句指定搜索条件 使用WHERE子句 数据库一般包含大量的数据 很少需要检索表中所有的行 通常只会根据需求来提取部分表数据 只检索所需数据需要指定搜索条件 search criteri
  • MySQL必知必会 学习笔记 第二十三章 使用存储过程

    MySQL 5中增加了存储过程的支持 一个操作需要多条SQL语句才能完成时 可以创建存储过程 其中保存一条或多条SQL语句 使用存储过程的理由 1 通过把处理封装在容易使用的单元中 简化复杂的操作 2 所有人都使用同一存储过程代替某复杂操作
  • MySQL必知必会 学习笔记 第十八章 全文本搜索

    并非所有引擎都支持全文本搜索 MyISAM支持 更新 1 MySQL 5 6 以前的版本 只有 MyISAM 存储引擎支持全文索引 2 MySQL 5 6 及以后的版本 MyISAM 和 InnoDB 存储引擎均支持全文索引 3 只有字段的
  • MySQL必知必会 学习笔记 第二十二章 使用视图

    MySQL 5添加了对视图的支持 视图是虚拟的表 它包含的是一个查询的结果 它本身不含数据 只是用来查看存储在别处的数据的一种设施 视图返回的数据是从其他表中检索出来的 在添加或更改这些表中的数据时 视图将返回改变过的数据 视图的应用 1
  • MySQL必知必会 学习笔记 第十二章 汇总数据

    聚集函数是运行在行组上 计算和返回单个值的函数 对表中数据而非实际数据本身进行汇总 如获取行数 获取某列最值等 除上述函数外 MySQL还支持标准偏差聚集函数 返回某列平均值 SELECT AVG columnName AS avgVal
  • MySQL必知必会——第四章检索数据

    检索数据 本章将介绍如何使用SELECT语句从表中检索一个或多个数据列 SELECT语句 SQL语句是由简单的英语单词关键字构成的 每个SQL语句都由一个或多个关键字构成 最常用的SQL语句就是SELECT语句 它的用途是从一个或多个表中检
  • MySQL必知必会 学习笔记 第二十五章 使用触发器

    触发器在MySQL 5中增加 触发器可以在MySQL响应DELETE INSERT UPDATE语句时自动执行一条SQL语句 MySQL 5中触发器名在每个表中唯一而不是在一个数据库中唯一 其他DBMS有的重名限制是数据库范围 以后MySQ

随机推荐

  • Linux E:Could not get lock /var/lib/dpkg/lock - open (11:Resource temorarily unavailable)

    1 错误提示如下图所示 2 解决方法 1 找到并杀掉所有的apt get和apt进程 运行命令 ps A grep apt 2 3 使用命令 sudo kill 9 进程号 或者 sudo kill SIGKILL 进程号 来关闭所有进程
  • 使用mysqldump命令导出指定数据库的数据+Java实现数据库的一键导出备份

    由于项目中需要用到在页面添加一个一键数据备份的功能 所以选择使用mysqldump命令的方法 用java的运行时类Java lang Runtime来使用后台窗口 记录下整个实现的过程 1 首先mysqldump命令需要在mysql的bin
  • linux管理控制面板--可视化管理linux

    市面上主要的网站主机分为三大类 具体差异简单说明 虚拟主机 也是大家口中说的 主机空间 可定制化低 适合纯小白和新手 完全不懂技术 说明白点 就是一台云服务器分割空间和内存形成的主机空间 可以用来搭建网站 但是管理权限受到主机厂商一些限制
  • 实现compose的五种思路

    好久没有更新了 最近学习的过程中一直在用联想的思维来去看问题 javascript是一门非常灵活的语言 集合了好多语言的特性和多种编程模式 对于compose的实现 就有非常多的思路 每一种思路都有自己的特点 实现之后 有种殊途同归的快感
  • 谷粒学院学习总结

    目录 项目模块说明 项目功能点 一 后台管理系统功能 1 登录注册功能 2 权限管理功能 3 讲师管理模块 4 课程分类模块 5 课程管理模块 6 统计分析模块 7 Canal数据同步 8 GateWay网关 9 首页Banner模块 待做
  • 统计学基础知识梳理(三)

    假设检验 定义 假设检验是用来判断样本与样本 样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法 其基本原理是先对总体的特征作出某种假设 然后通过抽样研究的统计推理 对此假设应该被拒绝还是接受作出推断 假设检验与区间估计都是根据
  • mysql学习笔记(4)_TCL(Transaction Control Language)以及视图

    TCL Transaction Control Language 事务控制语言 事务简介 一个或一组sql语句组成一个执行单元 这个执行单元要么全部执行 要么全不执行 如果其中一条语句执行失败或产生错误 整个单元将会回滚 所有受到影响的数据
  • JSP 项目创建 idea完整版

    JSP 项目创建 idea完整版 打开IntelliJ IDEA 后 File gt new gt project 第二步 JAVA gt Web Application gt next 路径的存放 创建后的文件如图 配置web文件
  • 等保测评所需Linux操作命令

    等保测评所需Linux操作命令 主要测评命令 1 more etc passwd 文件中记录用户的属性信息 包括用户命 密码 用户标识 组标识等信息 2 more etc shadow 口令文件 用于保存包括个人口令在内的数据 不能被普通用
  • 将数组数据转为excel表导出

    安装xlsx依赖 npm install xlsx save npm install file saver script loader save 使用vue element admin 中的src vendor export2Excel j
  • 使用STM32完成基于I2C的AHT20温湿度数据采集

    文章目录 一 内容 二 关于I2C 1 I2C协议 2 软件I2C 3 硬件I2C 三 温湿度数据采集 1 实验器材 2 代码 3 电路连接 4 结果展示 四 总结 五 参考内容 一 内容 学习I2C总线通信协议 使用STM32F103完成
  • 数字成像系统笔记

    imaging algorithm specialist staff image quality engineer cmos sensor color science 3A 狭义3A 自动曝光 自动对焦 自动白平衡 广义 整个相机自动控制
  • 前脚背完这些接口自动化测试面试题,后脚就进了字节测试岗

    1 请结合你熟悉的项目 介绍一下你是怎么做测试的 首先要自己熟悉项目 熟悉项目的需求 项目组织架构 项目研发接口等 功能 接口 自动化 性能 是怎么处理的 第一步 进行需求分析 需求评审 研发和测试对需求达成统一的理解 第二步 架构师会输出
  • vscode终端颜色设置

    terminal integrated inheritEnv false editor fontSize 18 workbench colorCustomizations terminal background 200707 termina
  • 大数据简介&大数据应用场景

    背景 互联网信息化技术高速发展 企业生产过程中产生的数据量呈指数级上升 我们看一组统计 1986年 全球只有0 02EB也就是约21000TB的数据量 2007年 全球就是280EB也就是约300000000TB的数据量 翻了14000倍
  • vi查找替换命令详解

    一 查找 查找命令 pattern
  • Java项目(二)--Springboot + ElasticSearch 构建博客检索系统(3)- 分词器介绍

    分词器介绍 ES作为全文检索服务 势必要对原始的文本进行内容的拆分 才能进行有效的索引 而拆分原始内容到一个一个小的词 或语义单元 这部分的功能由ES的分词器去完成的 常见分词器 standard ES默认的分词器 会将词汇单元进行小写形式
  • VulnHub DC-8

    确定靶机IP地址 扫描靶机的开放端口 发现靶机开放端口有80 22 访问80端口 扫描网站的目录 发现敏感目录user 访问user目录 发现是登陆界面 使用工具查看网站的CMS 发现网站的nid会变化试一试会不会有sql注入漏洞 加个单引
  • 连接数据库时zeroDateTimeBehavior的作用

    在JDBC连接串中有一项属性 zeroDateTimeBehavior 没添加 zeroDateTimeBehavior 在操作值为0的timestamp类型时不能正确的处理 而是默认抛出一个异常 就是所见的 java sql SQLExc
  • MySQL必知必会 学习笔记 第二十八章 安全管理

    用户应该具有适当的访问权 既不能多也不能少 MySQL Administrator提供了图形界面 可用来管理用户和账号权限 MySQL创建一个名为root的用户账号 它对整个MySQL服务器有完全的控制 在日常工作中 决不能使用root 而