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的终端查看:

 

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

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

相关文章

Simulink 最基础教程(一)

1.1基本概念 一个典型的Simulink模型大致如上图这样: 1)模块 block:图中画圈的那些,每个模块可以完成一些特定的任务,类似MATLAB中函数的概念。软件提供了很多模块,当然也可以自定义新的模块 2&#xff0…

百度地图API:JavaScript开源库几何运算判断点是否在多边形内(电子围栏)

百度地图JavaScript开源库,是一套基于百度地图API二次开发的开源的代码库。目前提供多个lib库,帮助开发者快速实现在地图上添加Marker、自定义信息窗口、标注相关开发、区域限制设置、几何运算、实时交通、检索与公交驾车查询、鼠标绘制工具等功能。 判…

Python基础入门例程9-NP9 十六进制数字的大小

目录 描述 输入描述: 输出描述: 示例1 解答: 说明: 描述 计算的世界,除了二进制与十进制,使用最多的就是十六进制了,现在使用input读入一个十六进制的数字,输出它的十进制数字…

vue如何使用冻结对象提升代码效率及其原理解析

先给大家伙整个实际工作中一定会碰到的问题 如下vue dome ,它的代码非常简单功能也1非常简单,就是一个按钮,点击后会显示有多少条数据 来看看源码, html部分就是一个按钮绑定了一个loadData事件,然后在p标签内展示了这个myData这个数据的长度 <template><div id&quo…

java中的异常,以及出现异常后的处理【try,catch,finally】

一、异常概念 异常 &#xff1a;指的是程序在执行过程中&#xff0c;出现的非正常的情况&#xff0c;最终会导致JVM的非正常停止。 注意: 在Java等面向对象的编程语言中&#xff0c;异常本身是一个类&#xff0c;产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的…

编译原理-词法分析器

文章目录 对于词法分析器的要求概念词法分析器的功能和输出形式 词法分析器的设计词法分析器的结构单词符号的识别&#xff1a;超前搜索状态转换图 正规表达式和有限自动机正规式和正规集确定有限自动机&#xff08;DFA&#xff09;非确定有限自动机&#xff08;NFA&#xff09…

ThingsBoard的版本控制整合gitee

1、注册gitee账号,创建自己的空间,并且创建一个用于存储ThingsBoard相关的仓库 2、进入ThingsBoard的租户层,然后找到版本控制,进行配置 输入gitee的仓库地址 仓库URL:指定你的gitee的参考地址 仓库分支:master 身份验证:密码、访问令牌 用户名:登录账号 密码/访问令…

Leetcode 1089. 复写零

复写零 题目链接1089. 复写零 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改&#xff0c;不要从函数返回…

【QT】其他常用控件2

新建项目 lineEdit 什么都不显示&#xff08;linux password&#xff09; password textEdit和plainTextEdit spinBox和doubleSpinBox timeEdit、dateEdit、dateTimeEdit label 显示图案&#xff0c;导入资源&#xff1a;【QT】资源文件导入_复制其他项目中的文件到qt项目中_St…

【proteus】8086 写一个汇编程序并调试

参考书籍&#xff1a;微机原理与接口技术——基于8086和Proteus仿真&#xff08;第3版&#xff09;p103-105&#xff0c;p119-122. 参考程序是p70&#xff0c;例4-1 在上一篇的基础上&#xff1a; 创建项目和汇编文件 写一个汇编程序并编译 双击8086的元件图&#xff1a; …

整理MongoDB文档:身份验证

整理MongoDB文档:身份验证 个人博客&#xff0c;求关注。 文章概叙 本文主要讲MongoDB在单机状态下的账户配置。理解了MongoDB的语法&#xff0c;对于如何配置用户权限会知道怎么配置&#xff0c;但是请注意给谁配置什么权限才是最重要的。 最小权限原则 系统的每个程序或者…

宝塔部署nginx遇到的400错误和502错误

在部署express项目的过程中&#xff0c;由于我的代码有些变化&#xff0c;于是在宝塔面板上我又重新上传了一下我的项目&#xff0c;结果阴差阳错的被nginx反向代理配置不当引起的400错误request header or cokkie is too large和自己代码逻辑问题引起的502 bad gataway给绊倒了…

Springcloud介绍

1.基本介绍 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发&#xff0c;如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等&#xff0c;都可以用Spring Boot的开发风格做到一键启动和部署。Spring …

springmvc视图格式——模板引擎freemarker输出HTML文本

目录 1. freemarker 介绍创建测试工程2.2.2) 配置文件2.2.3) 创建模型类2.2.4) 创建模板2.2.5) 创建controller2.2.6) 创建启动类2.2.7) 测试 2.3) freemarker基础2.3.1) 基础语法种类2.3.2) 集合指令&#xff08;List和Map&#xff09;2.3.3) if指令2.3.4) 运算符2.3.5) 空值处…

2023了,是时候使用pnpm了!

2023了&#xff0c;是时候使用pnpm了&#xff01; Excerpt 2023了&#xff0c;是时候使用pnpm了&#xff01; 什么是pnpm pnpm代表performant npm&#xff08;高性能的npm&#xff09;&#xff0c;同npm和Yarn&#xff0c;都属于Javascript包管理安装工具&#xff0c;它较npm和…

Arcgis 数据操作

在进行数据操作的时候&#xff0c;需要注意坐标系要一致&#xff0c;这是前提。 数据类型 文件地理数据库&#xff1a;gbd 个人地理数据库&#xff1a;mdb &#xff08;Mircosoft Access&#xff09; 矢量数据&#xff1a;shp 推荐使用gbd数据&#xff0c;效率会更高。 采…

“第六届世界声博会暨2023科大讯飞全球1024开发者节”开幕式回顾及舆情问题

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 2023年10月24日&#xff0c;笔者全程参加了在安徽合肥奥体中心举办的“第六届世界声博会暨2023科大讯飞全球1024开发者节”开幕式主论坛&#xff0c;下面来回顾一下。 一、会议简介 会议主题&#xff1a;“…

javaEE -8(9000字详解网络编程)

一&#xff1a;网络编程基础 1.1 网络资源 所谓的网络资源&#xff0c;其实就是在网络中可以获取的各种数据资源&#xff0c;而所有的网络资源&#xff0c;都是通过网络编程来进行数据传输的。 用户在浏览器中&#xff0c;打开在线视频网站&#xff0c;如优酷看视频&#xff…

Django学习笔记——文件上传(界面还怪好看得嘞)

定义文件上传函数 #文件上页面 def uploadFileIndex(request):return render(request, "uploadFile.html")#文件上传接口 def uploadFile(request):if request.method POST and request.FILES[file]:uploaded_file request.FILES[file]fs FileSystemStorage()# 选…

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(二)

阳光总在风雨后&#xff0c;请相信有彩虹。 案例 - 图书管理 bootstrap弹框 需求&#xff0c;点击添加按钮&#xff0c;没有离开当前页面&#xff0c;在当前页面弹出弹框&#xff08;弹窗&#xff09; 先学着实现一个简单的弹框&#xff0c;如下图右下角 bootstrap有两种方式…