MySQL--视图和用户管理

news2024/9/23 7:27:36

视图

这里的视图跟之前事务里面的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.coloradmin.cn/o/1910822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新盘点!2024年最好用的十大仓储管理系统(WMS)

深度盘点2024年十大仓鼠管理系统管理系统:简道云、伙伴云、百数、吉客云、旺店通、通天晓、富勒、万里牛、鼎捷、Arpa。 WMS系统(Warehouse Management System),指的是仓库管理系统,是一种用于优化仓库运营、提高存储…

智能猫砂盆不好用?三款热门智能猫砂盆推荐!

为什么现在那么多人会淘汰掉普通的猫砂盆,转而去购买智能猫砂盆呢?因为智能猫砂盆的自动铲屎功能是真的香啊,有智能猫砂盆在,就不用每天都自己去铲屎了,我只需要隔三四天去清理一下集便仓就好了,对于我们这…

优质可视化大屏模板+动态图表+科技感原件等

优质可视化大屏模板动态图表科技感原件等 软件版本:Axure RP 9 作品类型:高保真 作品内容: 1、大屏可视化模版(100套):包含智慧城市、智慧社区、智慧园区、智慧农业、智慧水务、智慧警务、城市交通、电…

SpringBoot日常:@Scheduled实现服务启动时执行一次

文章目录 一、Scheduled详解二、逻辑实现1、创建定时任务逻辑方法2、新建一个启动执行类 三、测试结果 说到定时任务,我们应该会想起Scheduled,Quartz以及XXL-JOB,但是有的单体服务或者小项目,为了方便快捷,可能会直接…

充电宝哪个牌子公认质量好?哪家充电宝好用?4款口碑好充电宝

在如今这个电子设备不离手的时代,充电宝成为了我们生活中的必备品。然而,面对市场上琳琅满目的充电宝品牌和型号,选择一款质量可靠、性能出色的充电宝并非易事。大家都在问:充电宝哪个牌子公认质量好?哪家充电宝好用&a…

Java面试八股之MySQL索引B+树、全文索引、哈希索引

MySQL索引B树、全文索引、哈希索引 注意:B树中B不是代表二叉树(binary),而是代表平衡(balance),因为B树是从最早的平衡二叉树演化而来,但是B树不是一个二叉树。 B树的高度一般在2~…

uniapp——银行卡号脱敏

样式 代码 {{bankNumber.replace(/(\d{4})(?\d)/g, "●●●● ").replace(/(\d{2})(?\d{2}$)/, " $1")}} 将银行卡号按照每四位一组的方式进行处理,前面的变成 剩下的正常显示

JustAuth实现多个钉钉扫码登录

需求: 实现多个钉钉组织的用户绑定和扫码登录。 JustAuth框架实现钉钉扫码登录用到的dingTalk接口: https://oapi.dingtalk.com/connect/qrconnecthttps://oapi.dingtalk.com/connect/oauth2/sns_authorize根据sns临时授权码获取用户信息 https://oap…

websockt初始化,创建一个webSocket示例

写文思路: 以下主要从几个方面着手写websocket相关,包括以下:什么是webSocket,webSocket的优点和劣势,webSocket工作原理,webSocket握手示例,如何使用webSocket(使用webSocket的一个示例)&#…

进度条提示-在python程序中使用避免我误以为挂掉了

使用库tqdm 你还可以手写一点,反正只要是输出点什么东西都可以; Demo from chatgpt import time from tqdm import tqdm# 示例函数,模拟长时间运行的任务 def long_running_task():total_steps 100for step in tqdm(range(total_steps), …

平安养老险安徽分公司“7·8保险宣传”走进企业

近日,平安养老保险股份有限公司(以下简称“平安养老险”)安徽分公司以“78全国公众宣传日”“保险,让每一步前行更有底气”为主题,走进某大型企业开展消费者权益保护专题教育宣传活动。 本次活动旨在向企业员工普及金…

【AI技术的未来之路】从模型到应用,跨越超级应用陷阱,迈向个性化智能体

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《热点时事》 期待您的关注 ​ 目录 引言 一、AI技术应用场景探索: 二、避免超级应用陷阱的策略: 三、个…

windows驱动开发基础-环境篇

前言 Windows上无论是用户模式下还是内核模式下,有关驱动的开发都有可能影响系统稳定性,所以我们首先要准备一个专用的测试环境,可以使用VM等虚拟机方便环境修复和还原 测试模式 开启测试模式:cmd 命令 bcdedit /set testsign…

Websocket 替代方案:如何使用 Firestore 监听实时事件

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 ​在现代 Web 开发中,实时更新功能对于许多应用程序(如聊天应用、协作工具和在线游戏)都是必不可少的。虽然 WebSocket 是一种常用的实时通信技术,但 Google 的 Firestore 也提供了一种强大的替代方案,使得实时监听变得…

苍穹外卖前后端搭建

文章目录 参考开发环境搭建前端环境搭建1、 前端工程基于 nginx2、启动nginx,访问测试后端环境搭建1、从资料中找到后端初始工程:2、用 IDEA 打开初始工程,了解项目的整体结构:数据库环境搭建前后端联调nginx反向代理和负载均衡1、nginx反向代理2、nginx 负载均衡完善登录功…

线程交互现象

线程交互现象 小明对自家的狗子有个规定,就是在狗狗还没吃完的时候,可以继续给他加饭 不好的解决方式 狗狗感觉一千年没吃饭了,狼吞虎咽起来,最后饭只剩下最后一点点,吃饭线程中使用while循环判断是否是1,…

数字人直播时代来了!数字人直播系统搭建,AI虚拟数字人直播系统源码部署

数字人直播系统这是一种利用人工智能技术,实现自动化生成真实人物直播销售商品的综合性解决方案。 一、目前数字人直播支持的平台: 抖音、快手、视频号、小红书、淘宝、支付宝生活号、TikTok、阿里国际站等。 技术栈 数据库:mysql5.7 技术搭…

第一个ffmpeg程序

在进行使用ffmpeg进行编写程序时,首先要记得进行注册设备(avdevice_register_all ),程序运行时,只需要注册一次就可以 avdevice_register_all 是 FFmpeg 多媒体处理库中的一个函数,其作用是注册所有可用的音…

仕考网:公务员体检对视力有要求吗?

公务员招聘过程中的体检标准对视力有具体要求,根据不同的岗位职责有所差异。通常情况下,如果申请者双眼经过矫正后视力均低于4.8(小数视力0.6),则会被视为不合格。 对于某些特殊岗位,如J察等,单侧裸眼视力若低于4.8也…

非升即走保命刊:审稿速度堪比“水刊”的1区Top,国人优势大,无爆雷风险,2个月可录!

本周投稿推荐 SCI • 地质遥感类,1.0-2.0(34天沾边可录) • CCF推荐,4.5-5.0(2天见刊) • 生物医学制药类(2天逢投必中) EI • 各领域沾边均可(2天录用&#xff09…