Mysql视图特性用户管理

目录

一、视图基本使用

二、用户管理

2.1 用户

①用户信息

②创建用户

tips:(解决无法创建用户)

③删除用户

④修改用户密码

2.2数据库的权限

①给用户授权

②回收权限

视图:视图是一种虚拟表。视图是基于一个或多个基础表中的数据所创建的一个查询结果集。视图本身并不包含数据,而是通过基础表中的数据计算出来的结果集。视图包含一系列带有名称的列和行数据。视 图的数据变化会影响到基表,基表的数据变化也会影响到视图。

一、视图基本使用

🖊创建视图

        ​​​​​​​create  view 视图名 as select 语句;

案例:

修改视图,会影响基表的数据:

修改了基表,对视图有影响:

🖊删除视图:

drop view 视图名;

视图规则与限制:

🖊与表一样,必须唯一命名(不能出现同名视图或表名)

🖊创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响

🖊视图不能添加索引,也不能有关联的触发器或者默认值

🖊视图可以提高安全性,必须具有足够的访问权限

🖊order  by 可以用在视图中,但是如果从该视图检索数据select中也含有order by,那么该视图中的 order by将被覆盖

🖊视图可以和表一起使用

二、用户管理

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用Mysql的用户管理。

张三只能操纵mytest这个库,李四只能操纵msg这个库。如果给他们root账户,那么他们就可以操纵所有的库,风险太大。

2.1 用户

①用户信息

Mysql中的用户,都存储在系统数据库Mysql的user表中。

可以通过desc user详细看一下表结构。

字段解释:

🖊host : 表示这个用户可以从哪个主机登录,如果是localhost,表示只能从本机登录

🖊user : 用户名

🖊authentication_string : 用户密码通过password函数加密后的显示

🖊*_priv: 用户拥有的权限

②创建用户

语法:

create  user  '用户名'@'登陆主机/ip'  identified by '密码';

案例:

此时我们看到新增了用户Gyh,这时便可以使用新账号新密码进行登陆了。

tips:(解决无法创建用户)

如果新增用户时出现报错:

出现这个报错,说明设置你的my.cnfmy.cni的配置中,你在[mysqld]下是设置了

skip-grant-tables

设置了这一条,在登陆mysql时是不需要密码登陆的。但是我们不能在mysql中新增用户了。那么要怎么操作呢?

首先在my.cnfmy.cni文件中删除'skip-grant-tables'这一行

重启mysql服务:

systemctl  restart  mysqld;

获取临时密码:

sudo  grep  'temporary password'  /var/log/mysqld.log

获取临时密码是因为我们已经关闭了无需密码登录mysql,所以需要获取临时密码来登录MySQL

利用临时密码登录,在MySQL界面:

alter  user  'root'@'localhost'  identified  by  'password';

如果出现这样的报错:

之所以出现这样的报错,是因为mysql用户设置密码安全强度默认要求为中,即1,要求必须包含数字、符号、大小写字母,长度至少为8位

说明我们刚刚设置的密码强度太低,可以设置密码强度要求:

这样密码要求强度就下来了,不过不太建议这么设置。

ok,在经历了这些设置之后,我们就可以新增用户,并且设置简易的密码了!

③删除用户

语法:

drop  user  '用户名'@'主机名'

示例:

④修改用户密码

语法:

        🖊自己改自己密码:

        set  password = password('新的密码');

        🖊root用户修改指定用户的密码:

        set password for '用户名'@'主机名'=password('新的密码');

2.2数据库的权限

mysql数据库提供的权限列表:

①给用户授权

刚创建的用户没有任何权限。需要给用户授权。

语法:

grant   权限列表  on  库.对象名  to   '用户名'@'登陆位置'   [identified by '密码'];

说明:

🖊权限列表,多个权限用逗号分开

        grant  select  on  ...

        grant  select, delete, create on  .....

        grant  all  [privileges]  on  ...   --表示赋予该用户在该对象上的所有权限 

🖊 *.* :代表本系统中的所有数据库的所有对象 (表,视图,存储过程等)

🖊 库.* :表示某个数据库中的所有数据对象(表,视图,存储过程等)。

🖊 identified by 可选。如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。

案例:

--使用root用户

 

给用户Gyh赋予test_db 数据库下所有文件的select权限:

开启另一个终端,登上Gyh用户查看:

因为我们只授予了Gyh用户select权限对test_db这个库

 

 

如果发现赋权限后,没有生效,执行:

flush  privileges; 

②回收权限

语法:

revoke  权限列表  on  库.对象名      '用户名'@'登陆位置'; 

示例:

回收Gyh对test_db数据库的所有权限:

 

在Gyh的终端查看:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/103377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OTA: Optimal Transport Assignment for Object Detection 论文和代码学习

OTA 原因步骤什么是最优传输策略标签分配的OT正标签分配负标签分配损失计算中心点距离保持稳定动态k的选取 整体流程代码使用 论文连接: 原因 1、全部按照一个策略如IOU来分配GT和Anchors不能得到全局最优,可能只能得到局部最优。 2、目前提出的ATSS和P…

16结构型模式-组合模式

我们很容易将“组合模式”和“组合关系”搞混。组合模式最初只是用于解决树形结构的场景,更多的是处理对象组织结构之间的问题。而组合关系则是通过将不同对象封装起来完成一个统一功能. 1 组合模式介绍 将对象组合成树形结构以表示整个部分的层次结构.组合模式可…

深度学习 anaconda 安装问题

配置anaconda 在官网下载匹配版本的anaconda(官网下载可能时间比较长),可以选择清华镜像。 安装过程默认即可,或者根据情况进行修改。 旧版本是可以在安装的时候勾选添加路径到环境变量中的,但是我安装的是2023.9月…

分布式微服务技术栈-SpringCloud<Eureka,Ribbon,nacos>

微服务技术栈 一、微服务 介绍了解1 架构结构案例与 springboot 兼容关系拆分案例拆分服务拆分-服务远程调用 2 eureka注册中心Eureka-提供者与消费者Eureka-eureka原理分析Eureka-搭建eureka服务Eureka-服务注册Eureka-服务发现 3 Ribbon组件 负载均衡Ribbon-负载均衡原理Ribb…

Linux搭建Redis环境

1. 基础环境 名称说明CentOS 7.6Linux操作系统版本redis-5.0.0.tar.gzRedis二进制安装包 2. 服务安装 服务端路径:usr/loacl/redis/redis-server客户端路径:usr/loacl/redis/redis-cli # 解压二进制包 [rootzhouwei resource]# tar -zxvf redis-5.0.…

MySQL3:MySQL中一条更新SQL是如何执行的?

MySQL3:MySQL中一条更新SQL是如何执行的? MySQL中一条更新SQL是如何执行的?1.Buffer Pool缓冲池2.Redo logredo log作用Redo log文件位置redo log为什么是2个? 3.Undo log4.更新过程5.InnoDB官网架构InnoDB架构-内存结构①Buffer …

java类的动态加载

java类的动态加载 java动态加载的机制: ClassLoader->SecureClassloader–>URLClassLoader–>AppClassLoader loadClass–>findClass(重写方法)–>defineClass(从字节码加载类) 初始化的时候会加载静态代码块 实例化的时候会加载构造代码块、无参构…

S32K324 UDS Bootloader开发-需求篇

文章目录 前言内存分配UDS诊断协议需求CAN ID及时间参数UDS诊断服务Bootloader诊断服务APP诊断服务 DID22服务的DID:2E服务的DID:Routine Control DID: 刷写流程预编程主编程后编程 总结 前言 之前做过一个STM32的UDS Bootloader,协议栈主要是NXP官网下…

单片机矩阵键盘

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、什么是矩阵键盘?1.独立键盘2.矩阵键盘变化1变化2变化3 3. 通过变型,举一反三,就可以实现4*4的矩阵键盘扫描 二、使用步骤…

app开发者提升第四季度广告收入的方法

第四季度将迎来双十一、双十二、圣诞、元旦为主的电商购物季,这是一年中利用线上消费为全新年度和全新预算做好准备的最佳时机,从过往的变现成功案例中汇总了优化要点,帮助开发者在第四季度和未来一年获取更多广告收益。 https://www.shensh…

CSS - 常用属性和布局方式

目录 前言 一、常用属性 1.1、字体相关 1.2、文本相关 1.3、背景相关 1.3.1、背景颜色 1.3.2、背景图片 1.4、圆角边框 二、常用布局相关 2.1、display 2.2、盒子模型 2.2.1、基本概念 2.2.2、border 边框 2.2.3、padding 内边距 2.2.4、margin 外边距 2.3、弹…

sql server2014如何添加多个实例 | 以及如何删除多个实例中的单个实例

标题sql server2014如何添加多个实例 前提(已安装sql server2014 且已有默认实例MSSQLSERVER) 添加新的实例 其实就是根据安装步骤再安装一次(区别在过程中说明) 双击安装 选择“全新独立安装或添加现有功能” 然后下一步下一…

【Spring Cloud】如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本

文章目录 1. 版本选择2. 用脚手架快速生成微服务的pom.xml3. 创建一个父工程4. 代码地址 本文描述如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本。 1. 版本选择 我们知道Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本选择一致性非常重…

小主机折腾记18

这个月冲动消费了小两千块钱…… 1.880g5twr 由于四根2400t的内存条没有用出去,我又把它们装回了惠普的800g5twr; 看到pdd有400块钱的9350K,于是想着给他上一个9350k 在参考了pdd、咸鱼以及淘宝的价格后,我发现400块钱的9350k都…

【JAVA学习笔记】41 - 接口

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter10/src/com/yinhai/interface_ 一、快速入门 usb插槽就是现实中的接口。你可以把手机,相机,u盘都插在usb插槽上,而不用担心那个插槽是专门插哪个的&#x…

Git基本概念与使用

一、Git基本概念 git,是一种分布式版本控制软件,与CVS、Subversion这类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。g…

信奥赛一本通:数据排序(合影效果、病人排队、明明的随机数、单词排序、出现次数超过一半的数、统计字符数)

数据排序 1182:合影效果1183:病人排队1184:明明的随机数1185:单词排序1186:出现次数超过一半的数1187:统计字符数 1182:合影效果 由题目可知,n个人有 性别与身高两种属性&#xff0c…

Elasticsearch实践:ELK+Kafka+Beats对日志收集平台的实现

可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个全文搜索引擎,它还提供了分布式的多用户能力,实时的分析,以及对复杂搜索语句的处理能力,使其在众多场景下,如企业搜索,日志和事件数据分析等…

PDF Reader Pro v2.9.8(pdf编辑阅读器)

PDF Reader Pro是一款PDF阅读和编辑软件,具有以下特点: 界面设计简洁,易于上手。软件界面直观清晰,用户可以轻松浏览文档,编辑注释和填写表单。功能强大,提供了多种PDF处理工具,包括阅读、注释…

北邮22级信通院数电:Verilog-FPGA(6)第六周实验:全加器(关注我的uu们加群咯~)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 作者建群啦!!!欢…