Mysql学习查缺补漏----02 mysql之DCL 数据控制语言

查看数据库里都有哪些用户。

使用root任何一个用户都可以登录。

本机登录。

也可以这样登录其他的机器。

修改user表。

刷新权限:

现在我们看到了只有本机才能登陆。

我们这样就可以限制这个mysql指定某台服务器登录。

详解忘记密码以及如何修改用户密码

我们用这种方式修改本机的root的密码。

修改完一定要记得刷新权限。

登录成功。

这种修改方法存在缺陷,在输入命令的同时,命令中包含密码,实际上这样就已经暴露了。所以可以采用第二种方法。

这样需要自己输入新密码,密码不可见。

查出所有root用户信息。

我们可以看到密码和密码的修改时间。

所以我们第三种方法是还可以修改这个表进行修改用户的密码:

因为这个会加密,所以需要使用password(我们的密码)。

但是可能在数据库里查出两条用户对不同服务器都有权限。

这种情况就不能用这种方法。

我们这次再加上它是哪一台机器的。

每一次都需要刷新权限。

先到我们的配置文件。

去掉这个注释。

修改完配置文件记得要重启mysql服务。

我们可以直接无密码方式登录。

然后再修改密码即可。

讲解如何创建新用户与删除用户并限制ip登录:

我们可以查到我们新创建的用户。

查看pig用户的权限。

USAGE:无权限的意思。

root用户有很多权限。

WITH GRANT OPTION:表示这个用户拥有grant权限,即可以对其他用户授权

目前这个用户在所有的主机上都可以登录成功。

加上host地址才能登录成功。

也可以指定在哪个网段上登录。

注:

本机登录的话也不要只是默认就完事。我们也要注意一下表里的host配置。

如何限制用户对库表的增删改查权限:

授权:

方式一:

授权语法:grant 权限1,权限2..... on 数据库对象 to '用户'

方式二:

grant 权限1,权限2..... on 数据库对象 to '用户'@'host' identified by 'password';

回收权限:

回收语法:revoke 权限1,权限2..... on 数据库对象 from '用户'@'host';

实战例子:

对现有用户进行授权:对现有用户pig授予所有库所有表所有权限。

all privileges:代表所有权限。

*.*表示所有库所有表。

grant all privileges on *.* to 'pig';

目前它只有一个库的权限。

执行授权语句。

刷新权限:

再次就可以看到它有这么多的数据库的权限了。

就可以对这些库里的表进行增删改查了。

对没有的用户进行授权:创建一个新用户dog授予XD库的所有权限,登录密码123456,任何一台主机登录

我们可以先创建个用户再用上面那种方式再进行给它授权。

也可也用下面的方式,创建的同时进行授权:

grant all privileges on XD.* to 'dog'@'%' identified by '123456';

可以看到只有一个XD库的权限。

另外一种比较粗暴的方法是,直接从user表里去删除:

注意要刷新权限。

创建一个用户并只赋予用户查询和修改数据库的权限:

登录:

这样它就只有查询和修改的权限了。

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

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

相关文章

cmd下查看python命令的用法

在cmd下,可以运行python --help或者py --help来查看python命令的用法。例如:

ts declare 的用法、和export的区别、*.d.ts的使用说明

一、declare: 阮一峰 首先声明,declare 来声明全局变量或类型的目的是为了让 TypeScript编译器能够识别和理解这些外部环境中已存在的内容,而不需要在当前文件中提供具体的实现或定义。包括 declare namespace 和declare moudle 也是为了上述。 二、 *.…

Web APIs—事件监听、事件类型、事件对象、环境对象、回调函数、综合案例:随机点名案例,轮播图完整版,评论区回车发布,Tab栏切换

版本说明 当前版本号[20231205]。 版本修改说明20231205初版 目录 文章目录 版本说明目录Web APIs - 第2天事件事件监听案例:通过点击按钮,弹出一个对话框 事件类型事件处理程序综合案例:随机点名案例 事件类型鼠标事件键盘事件焦点事件案…

一、运行时数据区域

根据 《Java 虚拟机规范》的规定,Java 虚拟机所管理的内存将会包括以下截个运行时数据区域,如图所示。 1、程序计数器 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里&#x…

SpringBoot基础知识

SpringBoot简介 回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Ja…

基于Java SSM框架实现文物管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现文物管理系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&#…

基于Java SSM框架实现文物管理系统项目【项目源码+论文说明】

基于java的SSM框架实现文物管理系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&#…

Git标签管理

愿所有美好如期而遇 目录 理解标签 创建标签 操作标签 理解标签 tag标签,可以简单理解成对某次commit id的一次标识,也就是起了个别名,将来我们可以通过这个标签的信息知道这个版本做了什么,用来标识他的意义。 所以要给标签…

LangChain 21 Agents自问自答与搜索 Self-ask with search

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

Opencv UI自动化应用人脸识别

OpenCV: Open Source Computer Vision Library OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法 OpenCV官网:http://www.opencv.org.cn/ OpenCV 使用 C/C 开发,同时也提供了 Python、Ja…

Java面试题(每天10题)-------连载(44)

目录 Dubbo篇 1、Dubbo支持哪些协议,每种协议的应用场景,优缺点 2、Dubbo超时时间怎么设置? 3、Dubbo有哪些注册中心? 4、Dubbo集群的负载均衡有哪些策略 5、Dubbo是什么? 6、Dubbo的主要应用场景?…

jsp在线辅助教育系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 在线辅助教育系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

geemap学习笔记020:如何搜索Earth Engine Python脚本

前言 本节内容比较简单,但是对于自主学习比较重要,JavaScript提供了很多的示例代码,为了便于学习,geemap将其转为了Python代码。 Earth Engine Python脚本 import ee import geemapee.Initialize()geemap.ee_search() #搜索Ear…

数据结构第7次练习-图(基础篇)

一:判断题 1-1 答案:T 解析:c到a的最短路径是12214,所以是大于10的 1-2 答案:T 一个连通分量要进行一次广度优先搜索 1-3 答案:F 解析:是存在等于顶点的个数减一的情况,比如三个顶点…

Flask项目Day1,Flask常见第三方拓展包

拉项目 git clone https://gitee.com/hahaguai007/python-flask-mysql.git git clone 项目地址运行后即可获取项目 2.创建数据库 在MySQL中创建一个数据库,名字自己定,然后修改RealProject\settings.py里的SQLALCHEMY_DATABASE_URI,格式为 …

【TiDB理论知识04】TiKV-分布式事务与MVCC

分布式事务 下面一个事务 里面有两个更新,分别将id1的Tom改为Jack,将id2的zhangsan 改为 lisi。在MySQL中这个事务很普通,但是在分布式数据库TiDB 中的会遇到什么问题呢? begin; (1,Tom) --> (1,Jack) (2,zhangsan) --> (2,lisi) commit; 比如(…

简单弄懂DDOS攻击

DDoS攻击是网络安全领域中最常见的攻击之一。攻击者通过利用大量合法请求,占用目标服务器的网络带宽和系统资源,从而使目标系统无法正常运行。本文将介绍DDoS攻击的特点和常见类型,以及如何辨别和应对DDoS攻击,并提供Python代码演…

EM32DX-C4【C#】站15

1外观: J301 直流 24V 电源输入 CAN0 CAN0 总线接口 CAN1 CAN1 总线接口 J201 IO 接线段子 S301-1、S301-2 输出口初始电平拨码设置 S301-3~S301-6 模块 CAN ID 站号拨码开关 S301-7 模块波特率拨码设置 S301-8 终端电阻选择开关 2DI: 公共端是…

HTTP之跨域

HTTP之跨域 跨域(Cors)两种请求简单请求浏览器不同的处理方式Access-Control-Allow-OriginAccess-Control-Allow-CredentialswithCredentials属性 非简单请求服务器回应:什么时候会触发OPTIONS(预检请求)呢&#xff1f…

Go中的延时执行魔法:深入浅出defer用法

一、defer 介绍 1、defer 特性 关键字 defer 用于注册延迟调用这些调用直到 return 前才被执行,因此,可以用来做资源清理多个 defer 语句,按先进后出的方式执行defer 语句中的变量,在 defer 声明是就决定了 2、defer 用途 关闭…