当前位置: 首页 > news >正文

【MySQL】视图、用户和权限管理

目录
  • 一、视图
    • 1.1 创建视图
    • 1.2 数据修改影响
    • 1.3 删除视图
    • 1.4视图优点
  • 二、用户和权限管理
    • 2.1查看当前的数据库拥有用户信息
    • 2.2 创建用户
    • 2.3 修改密码
    • 2.4 删除用户
    • 2.5 权限
      • 2.5.1 授权
      • 2.5.2 回收权限

一、视图

视图就是相当于创建一个表,将查询到的结果集给存储起来。像使用复杂的多表查询查询到的结果集就不可以对结果集操作。而使用视图就可以。

  • 视图是个虚拟的表,它是基于个或多个基本表或其他视图的查询结果集。

  • 视图本不存储数据,是通过执查询来动态成数据。
    可以像操作普通表样使视图进查询、更新和管理。

  • 视图本并不占物理存储空间,它仅仅是个查询的逻辑表,物理上它依赖于基础表中的数据。

  • 使用查询语句查询查询真实数据时可以拿到敏感信息,但是如果将视图传给其他人来查询就可以避免。

1.1 创建视图

create view 视图名 (视图列名可省略) as (查询结果);

创建视图时如果将列名省略,那么是由查询结果的列名作为视图列名,但是如果查询结果中列名有重复就会创建失败,需要采取给其起别名来解决。

1.2 数据修改影响

对视图的操作就跟表操作一样。

  • 修改真实表的数据会影响视图。
  • 修改视图也会影响真实表。

视图修改的条件:

  • 创建视图时不能使聚合函数。
  • 创建视图时不能使distinct
  • 创建视图时不能使group byhaving子句。
  • 创建视图时不能使unionunion all联合查询语句。
  • 查询列表中不能使查询。
  • from句中引不可更新视图。

1.3 删除视图

drop view 视图名;

1.4视图优点

  • 简单性:视图可以将复杂的查询封装成个简单的查询。例如,针对个复杂的多表连接查询,可以创建个视图,只需查询视图需了解底层的复杂逻辑。
  • 安全性:通过视图,可以隐藏表中的敏感数据。例如,个系统的表中,可以创建个不包含密码列视图,普通只能访问这个视图,不能访问原始表。
  • 逻辑数据独立性:视图提供了种逻辑数据独性,即使底层表结构发变化,只需修改视图定义,需修改依赖视图的应程序。使到应程序与数据库的解耦
  • 可读性:视图允许重命名列名,以增强数据可读性。

二、用户和权限管理

在我们练习中都是使用root用户,root用户权限很大且一个数据库只有一个,在实际应用中,用户权限大小至关重要,而且还要有多个用户。

2.1查看当前的数据库拥有用户信息

用户信息存储在系统库mysql中的user表里面。mysql库是系统库,我们不要对其修改。

语法:

use mysql; select host, user, authentication_string from user;

名词解释:

  • host:允许登录的主机,相当于名单,如果是localhost,表只能从本机登陆。
  • user:名。
  • *_priv:拥有的权限,*表示多个单词,相当于通配符。
  • authentication_string :加密后的密码

2.2 创建用户

语法:

create user [IF NOT EXISTS] '用户名(区分??写)'@'主机名' identified by '密码';

这样创建的用户没有任何权限。

注意事项:

  • 如果不指定host_name相当于’user_name’@‘%’,%表所有主机都可以连接到数据库,强烈建
    议不要这样设置,因为会导致严重的安全问题。
  • 用户名和主机名中间的@没包含在单引号’'只内。
  • host_name可以通过掩码设置主机范围:
    198.0.0.0/255.0.0.0 :A段络中的任意台主机;
    198.51.0.0/255.255.0.0: 198.51 B段络中的任意台主机;
    198.51.100.0/255.255.255.0: 198.51.100 C段络中的任意台主机;
    198.51.100.1 :只包含特定IP地址的主机。
  • 从MySQL8.0.23开始,指定为IPv4地址的主机值可以使CIDR表法写,例如198.51.100.44/24。
  • 允许在IP地址中使%通配符,如,主机值’%'匹配任何主机名, 198.51.100.% 匹配
    198.51.100 C段络中的任何主机。MySQL8.0.35中已弃,以后可能会删除。

示例:
添加个名为ikun的新,允许从本机登录

create user 'bit'@'localhost' identified by '123456';

2.3 修改密码

语法:

# 为指定??设置密码 alter user '用户名(区分大小写)'@'主机名' identified by '新密码'; # 为指定??设置密码 set password for '用户名(区分大小写)'@'主机名' = '新密码'; # 为当前登录??设置密码 set password = '新密码';

示例:

  • 以root份登录,为’ikun’@'localhost’重置密码

    ALTER USER ‘bit’@‘localhost’ IDENTIFIED BY ‘987654’;

  • 以root份登录,为’ikun’@'localhost’重置密码

    SET PASSWORD FOR ‘bit’@‘localhost’ = ‘123456’;

  • 以ikun登录,修改当前登录的密码

    SET PASSWORD = ‘111111’;

2.4 删除用户

语法:

drop user [if exists] '用户名(区分大小写)'@'主机名';

示例:
删除用户’ikun’@‘192.168.1.1/24’

drop user 'ikun'@'192.168.1.1/24';

2.5 权限

MySQL内置持的权限列表如下:

2.5.1 授权

语法:

grant priv_type[, priv_type ...] on priv_level to'user_name'@'host_name' [WITH GRANT OPTION];

名词解释:

  • priv_type:根据类型,参考根据列表4.1中的Privilege列。
  • priv_level:* |.| db_name.* | db_name.tbl_name | tbl_name,如*.*表所有数据库下的所
    有表。
  • ‘user_name’@‘host_name’:指定。
  • [WITH GRANT OPTION]:可选,允许将的权限授权给其它。

示例:
为ikun@localhost授权于 java01 数据库的 select 权限。

grant select on java01.* to 'ikun'@'localhost';
2.5.2 回收权限

语法:

REVOKE [IF EXISTS] priv_type[, priv_type] ... ON priv_level FROM 'user_name'@'host_name' [, 'user_name'@'host_name'] ...

示例:
回收ikun@localhost对于 java01 数据库的权限:

REVOKE all on *.* from 'ikun'@'localhost';
http://www.jsqmd.com/news/454040/

相关文章:

  • VulnHub DC-7 靶机渗透测试笔记
  • GitHub 今日热搜:24小时内最受瞩目的10个开源项目
  • 2026年铝型材厂家推荐排行榜:工业铝型材、角铝型材、欧标铝型材、铝合金铝型材、铝型材框架定制、工作台与置物架方铝型材实力品牌精选 - 品牌企业推荐师(官方)
  • 基于遗传粒子群优化算法的LSTM网络预测优化:精准预测与超越局部最优解的挑战
  • 2026年全国薪酬绩效咨询公司哪家靠谱?口碑好实力强适配多行业 靠谱专业且落地性强 - 深度智识库
  • 东莞九头牛软件科技小龙虾openclaw,以创新技术开启AI民主化与GEO平权新时代
  • OpenClaw 配置 Nginx 反向代理完整指南
  • 永磁同步电机控制仿真之旅
  • 使用宝塔一键迁移插件来迁移项目
  • Rust 1.94.0 闪亮登台
  • 【MySQL系列文章】Linux环境下安装部署MySQL
  • 保险企业局域网如何用Java保障理赔材料文件夹的断点续传防篡改?
  • X光、CT、MRI、超声等影像识别如何是大模型AI诊断
  • ITS是什么
  • [特殊字符]家人们,今天来给大家分享一款超厉害的闭环步进驱动器源码![特殊字符]
  • Linux线程(3)线程控制
  • 探寻2026年安徽口碑好的AI搜索推广专业公司,价格怎么收费 - 工业推荐榜
  • 永磁同步电机无位置观测算法:实测有效的宝藏秘籍
  • 【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
  • 2026年深圳配眼镜品牌全、服务好的配镜中心排名大揭秘 - mypinpai
  • 2026年工业移动电源厂家推荐排行榜:大功率/220V/380V/便携式/应急/工程施工/大容量/快充/消防救援/户外/储能式移动电源,专业实力与创新技术深度解析 - 品牌企业推荐师(官方)
  • 计算机毕设java的高校车辆租赁管理系统 基于SpringBoot框架的校园汽车共享与调度服务平台 Java技术驱动的高校公务车辆与共享出行一体化管理系统
  • Simulink车用永磁同步电机弱磁控制的矢量控制FOC
  • 2026年腾讯企业邮箱开通服务商怎么选:资质、价格与服务对比详解 - 品牌2026
  • 镀锌板水箱选购指南:核心要素解析+Top5厂家推荐,工业与市政项目必看 - 深度智识库
  • 【MySQL统计函数count详解】
  • OpenGait(步态识别框架)的配置项说明
  • 2026年3月建筑AI深度测评报告:6款工具对比,EVAI第一
  • 飞跨电容型NPC逆变器仿真(SPWM) 仿真包含FCNPC拓扑、LCL滤波器、三相纯阻性负载构...
  • 2026年靠谱的文审机_娃娃机_弹珠机源头厂家口碑推荐-陕西英杰儿童主题乐园有限公司 - 朴素的承诺