MySQL--视图和用户管理

视图

这里的视图跟之前事务里面的read view没有任何关系。

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

创建视图

create view 视图名 as select语句;

其实就是在select语句前加上就可以了。

创建视图其实就是mysql在内存上帮我们创建了一张表,然后将数据插入到这个表中。

如果我们修改视图里的数据,会对基表产生影响。反之,如果我们修改了基表,也会对这个视图产生影响。

删除视图

drop view 视图名;

总结:

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

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

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

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

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

视图可以和表一起使用。

用户管理 

用户

如果我们只用root用户,那么会存在安全隐患。

在MYSQL中,所有的用户都存储在mysql数据库中的user表里面

有些字段比如Host,表示这个用户能以那种方式登录mysql,这里是本地。

*_priv 用户拥有的权限。

User表示的是用户名。

 往下翻还有一个字段是authentication_string,表示的是经过加密后的用户密码。

我们可以这样查询

 我们新建一个用户

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

如果登录主机/ip为 '%',则说明可以从任意主机上登录,实际开发中非常不建议这样用,我们仅测试。 

删除用户

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

修改密码:
1.修改自己的密码

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

2.root用户修改指定用户的密码

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

注意:

在linux命令行下执行

vim /etc/my.cnf

如果我们设置了--skip-grant-tables。那么选项启动时,它会跳过权限表的加载,这意味着任何用户都可以无密码连接到 MySQL 服务器,并拥有对所有数据库的完全访问权限。

也就是说我们可能无法创建新用户或者是直接修改密码。我们可以在mysql库中的user表中,直接设置好root的密码,然后把这个选项注释掉,然后重启mysqld,用我们设置好的密码登录,然后就可以创建新用户了。

选中好mysql库后,可以执行以下指令在表中修改root的密码

DATE user SET authentication_string=PASSWORD('新密码') WHERE User='root';

或者建议直接用

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

 这还可以直接帮你检测你的密码是否符合标准。

另外还有,在mysql5.7及以上版本,默认用这种方式修改密码至少得包含字母,数字,符号三种,如果我们密码的复杂度不符合mysql的规定,那么我们后续登录上去将无法执行大部分操作。

密码可以类似这种 ‘Admin123!’。

或者我们可以降低mysql规定的密码复杂度

SET GLOBAL validate_password_policy = 'LOW';
  • LOW:密码长度至少为8位。
  • MEDIUM:密码长度至少为8位,且必须包含数字、小写字母、大写字母和特殊字符中的至少三种。
  • STRONG:密码长度至少为8位,且必须包含数字、小写字母、大写字母和特殊字符。
  • 0:禁用密码策略。

数据库的权限

部分权限

新创建的用户是没有任何权限的,需要给新用户授权

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

 可以一次授予一个权限,或者多个权限,或者所有权限

grant select on ...
grant select, delete, create on ....
grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
*.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)

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

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

如果发现赋权后没有生效,可以执行刷新指令

flush privileges;

 回收权限

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

跟授权的语法一样,我们同样可以一次回收多个,或者全部回收。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp父页面调用子页面 组件方法记录

文章目录 导文如何点击父页面,触发子页面函数先写一个子页面的基础内容父元素 如何点击父页面,修改子页面的值先写一个子页面的基础内容父元素 导文 如何点击父页面,触发子页面函数? 如何点击父页面,修改子页面的值&am…

彩色图像(RGB)或灰度图像(Gray)转tensor数据(附img2tensor代码)

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…

【Android应用】生成证书和打包

安卓生成证书和打包 📖1. 生成自有证书📖2. 安卓打包✅步骤一:导入签名文件✅步骤二:设置打包版本✅步骤三:生成签名包或APK 📖1. 生成自有证书 地址:https://www.yunedit.com/createcert 说明…

【wordpress教程】wordpress博客网站添加非法关键词拦截

有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。 后台设置预览图: 设置教程: 1、把以下代码添加至当前主题的 functions.php 文件中: add_action(admi…

最全windows提权总结(建议收藏)

当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息。知己知彼,才百战不殆。 常规信息搜集 systeminfo 查询系统信息hostname 主机名net user 查看用户信息netstat -ano|find "3389&quo…

SECS/GEM快速完成半导体设备通讯

金南瓜帮助国内大量从事半导体前道设备开发研制、生产的设备厂商,通过快速提供稳定可靠的SECS/GEM、GEM300产品,为客户在激光退火、湿法设备(清洗、镀膜等)、离子注入、MOCVD、PVD等客户专注于核心工艺提升,提升企业的…

自动群发消息插件常用源代码科普!

随着网络技术的快速发展,自动群发消息插件成为了众多企业和个人提高效率、加强沟通的重要工具。 然而,开发一个高效且稳定的自动群发消息插件并非易事,需要深入理解并熟练掌握相关的源代码。 本文将从五个方面,通过具体的源代码…

基于SpringBoot的网上书城管理系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:Java技术,基于SpringBoot框架 工具:Eclipse,MySQL 系统展示 首…

Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

这里写目录标题 0. 机器人配置1. Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制1.1 TurtleBot3 Waffle Pi端配置1.2 PC端配置1.2.1 安装turtlebot3的环境配置1.2.2 创建项目并安装Turtlebot31.2.3 配置环境变量 1.3 PC端与TurtleBot3进行通信1.3.1 PC端与机器人端互PING和SSH连…

每日一练 - RSTP响应端口故障后的处理流程

01 真题题目 在如图所示的网络中, 所有的交换机运行 RSTP 协议, 假如 SWB 的 E 1 接口故障后, RSTP 的处理过程是:(多选) A.SWB 删除 MAC 地址表中以 E 1 为目的端口的端口表项。 B.重新计算生成树,选举 E2 为新的根…

ghost恢复?电脑文件恢复如何操作?电脑数据恢复工具!5款!

在数字化时代,电脑数据的价值日益凸显。然而,数据丢失、误删、系统崩溃等问题时有发生,给个人和企业带来巨大损失。本文将为您详细介绍Ghost恢复方法,同时推荐五款高效的电脑数据恢复工具,助您轻松应对数据丢失的困扰。…

Mysql-常用函数及其用法总结

1、字符串函数 测试用例如下: 1.1 CONCAT() 将多个字符串连接成一个字符串。 SELECT CONCAT(first_name, , last_name) AS full_name FROM users; -- 期望结果:John Doe, Jane Smith, Michael Johnson 1.2 SUBSTRING() 提取子字符串 SELECT SUBSTR…

57、基于概率神经网络(PNN)的分类(matlab)

1、基于概率神经网络(PNN)的分类简介 PNN(Probabilistic Neural Network,概率神经网络)是一种基于概率论的神经网络模型,主要用于解决分类问题。PNN最早由马科夫斯基和马西金在1993年提出,是一种非常有效的分类算法。…

C语言编译报错error: expected specifier-qualifier-list before

C语言编译报错 error: storage class specified for parameter error: expected specifier-qualifier-list before 原因: 报错信息 "expected specifier-qualifier-list" 通常表示编译器期望在某个地方出现类型指定列表,但却没有找到。这通常…

STM32智能仓库管理系统教程

目录 引言环境准备智能仓库管理系统基础代码实现:实现智能仓库管理系统 4.1 数据采集模块 4.2 数据处理与控制算法 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:仓库管理与优化问题解决方案与优化收尾与总结 1. 引言 智能仓库管理系统通…

【matlab】周期性信号分析

目录 信号预处理 周期性特征提取方法 频谱分析 傅里叶变换 快速傅里叶变换(FFT) 周期图法 Welch法 自相关分析 时频分析 基于模型的方法 时间序列分解 应用实例 提取信号的周期性特征是一个在信号处理领域广泛应用的技术,特别是在…

源码解读 - 微软GraphRAG框架

1. 引言 这几天微软开源了一个新的基于知识图谱构建的检索增强生成(RAG)系统, GraphRAG, 该框架旨在利用大型语言模型(LLMs)从非结构化文本中提取结构化数据, 构建具有标签的知识图谱,以支持数据集问题生成、摘要问答…

鸿翼FEX文件安全交换系统,打造安全高效的文件摆渡“绿色通道”

随着数字经济时代的到来,数据已成为最有价值的生产要素,是企业的重要资产之一。随着数据流动性的增强,数据安全问题也随之突显。尤其是政务、金融、医疗和制造业等关键领域组织和中大型企业,面临着如何在保障数据安全的同时&#…

【删库跑路】一次删除pip下载的所有第三方库方法

进入命令行,先list看下库存 pip list导出所有的第三方库至一文件列表 pip freeze >requirements.txt按照列表卸载所有库 pip uninstall -r requirements.txt -y再list看下,可见库存已清空

世优科技获新锐商业价值奖,数字人阿央入选北京市元宇宙“名人”

2024全球经济大会元宇宙创新发展论坛暨2024第九届“创客中国”元宇宙中小企业创新创业大赛,由工业和信息化部网络安全产业发展中心、北京市经济和信息化局、石景山区人民政府、首钢集团有限公司主办,围绕元宇宙底层技术端和产业应用端两个方向&#xff0…