avatar

一条在知识海洋的咸鱼

这个家伙很懒,啥也没有留下😋

  • 首页
  • Linux
  • OCJP
  • Java核心技术卷
  • J2EE相关标准
  • 深入理解Java虚拟机
  • NIO与SOcket编程技术指南
  • Java多线程编程核心技术
  • Redis开发与运维
  • Spring Cloud Alibaba 微服务原理与实践
  • DevOps
  • Docker
  • MySQL必知必会
  • AI自学路线
  • Spring Boot 编程思想(核心篇)
主页 第二十八章 安全管理
文章

第二十八章 安全管理

发表于 2021-07-6 更新于 2026-06- 10
作者 Administrator
10~13 分钟 阅读

确保数据的安全和完整需要利用访问控制

  • 访问控制
    • root账户
      • 不要使用root
  • 管理用户
    • 创建用户账号
      • 简单创建一个新用户账号
      • 使用GRANT或INSERT创建
    • 重命名用户账号
    • 删除用户账号
    • 设置访问权限
      • 将用户定义为user@host

访问控制

用户需要对其数据具有适当的访问权,既不能过多,也不能过少,例如

  • 多数用户需要对表进行读写,少数用户需要创建和删除
  • 某些用户需要读表,但不需要更新表
  • 允许用户添加数据,但不能删除数据
  • 管理员用户需要处理用户账号权限
  • 允许通过访问存储过程访问数据,但不允许直接访问数据
  • 根据用户登陆地点限制对某些功能的访问

需要给用户提供其所需的访问权限,且仅提供其所需的访问权限

root账户

MySQL创建一个名为root的用户账户,其对整个MySQL服务器具有完整的控制。

不要使用root

在日常工作中,绝不能使用root。应该严肃对待root登录的使用。仅在绝对需要时使用它。不应该在日常的MySQL操作中使用root

管理用户

MySQL用户账号和信息存储在名为mysql的MySQL数据库中
image.png

	USE mysql;
	SELECT USER FROM user;

image.png

创建用户账号

简单创建一个新用户账号

CREATE USER ben IDENTIFIED BY "p@$$wOrd";

image.png
image.png
其中,IDENTIFIED BY指定的口令为纯文本,MySQL将在保存到user表之前对其进行加密

使用GRANT或INSERT创建

  • 可使用GRANT语句创建用户账号,但CREATER USER时最清楚和最简单的句子
  • 可使用直接插入到user表来增加用户,为安全起见不要这么做。因为可能会损坏MySQL服务器。

重命名用户账号

  • 使用RENAME USER语句
RENAME USER ben TO beforta;

image.png

  • 直接UPDATE更新user表

删除用户账号

使用FROP USER,MySQL5之后支持删除用户账号和所有相关权限

DROP USER beforta;

image.png

设置访问权限

新创建的用户账号没有访问权限,只能登录MySQL,但看不到数据,无法执行任何数据库操作
创建用户,并使用SHOW GRANTS FOR查询用户权限

CREATE USER bforta IDENTIFIED BY "p@$$wOrd";
SHOW GRANTS FOR bforta;

image.png
图中的结果表示在任意数据库和任意表上对任意数据没有权限

将用户定义为user@host

如果不指定主机host,则使用默认的主机名%,授予用户访问权限而不管主机名

为设置权限,使用GRANT语句,需要有

  • 要授予的权限
  • 被授予访问权限的数据库或表
  • 用户名

例如

GRANT SELECT ON
	crashcourse.* TO bforta;

表示允许bforta用户在crashcourse数据库的所有表上使用SELECT,具有只读访问权限
image.png

MySQL必知必会
SQL
许可协议: 
分享

相关文章

7月 6, 2021

第二十九章 数据库维护

7月 6, 2021

第二十八章 安全管理

确保数据的安全和完整需要利用访问控制访问控制root账户不要使用root管理用户创建用户账号简单创建一个新用户账号使用GRANT或INSERT创建重命名用户账号删除用户账号设置访问权限访问控制用户需要对其数据具有适当的访问权,既不能过多,也不能过少,例如多数用户需要对表进行读写,少数用户需要创建和删

7月 6, 2021

第二十七章 全球化和本地化

MySQL处理不同字符集和语言的基础知识字符集和校对顺序校对的重要性使用字符集和校对顺序字符集和校对顺序数据库表被用来存储和检索数据。不同的语言和字符集需要以不同的方式存储和检索MySQL需要适应不同的字符集(字母和字符),应应不同的排序和检索数据的方法字符集:字母和符号的集合编码:某个字符集成员的

下一篇

第二十九章 数据库维护

上一篇

第二十七章 全球化和本地化

最近更新

  • 55 异常兜底:工具失败、非法输出、空检索与超时
  • 54 Agent Memory:短期记忆、用户上下文与摘要
  • 53 Human-in-the-loop:让关键动作暂停、确认与恢复
  • 52 工单 Tool:字段校验、创建结果与失败补偿
  • 51 订单 Tool:Mock、鉴权、状态解析与脱敏

热门标签

java基础 微服务 maven Spring Tomcat DDD Linux Linux基础 SQL基础 数据结构算法

目录

©2026 一条在知识海洋的咸鱼. 保留部分权利。

使用 Halo 主题 Chirpy