mysql之用户管理、权限管理、密码管理
| 用户管理 | 创建用户create user '杨'@'20.0.0.13' identified by '123'; |
| 用户重命名rename user '杨'@'20.0.0.13' to 'yang'@'20.0.0.13'; | |
| 删除用户drop user '杨'@'20.0.0.13'; | |
| 权限管理 | 查看用户权限show grants for '杨'@'20.0.0.13'; |
| 赋予用户权限grant all privileges on *.* to '杨'@'localhost' identified by '123';(要在终端操作) | |
| 删除用户权限revoke all privileges on *.* from 'test1'@'20.0.0.13';(要在终端操作) | |
| 赋予用户单个权限grant select on *.* to '杨'@'20.0.0.13' identified by '123'; | |
| 赋予用户多个权限grant select,update,insert,drop on kgc.* to '杨'@'20.0.0.13' identified by '123'; | |
| 移除单个权限revoke select on kgc.* from '杨'@'20.0.0.13'; | |
| 移除多个权限revoke update,drop on kgc.* from '杨'@'20.0.0.13'; | |
| 刷新权限flush privileges; | |
| 密码管理 | 查看密码 select * from user; select User,Host,authentication_string from user; |
| 用户密码加密 select password('123'); create user '婷'@'20.0.0.13' identified by '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257'; | |
| 修改其他用户密码set password for 'test1'@'20.0.0.13'=password('abc123'); | |
| 修改当前终端密码set password=password(‘123’); | |
| 忘记密码后修改密码 vim /etc/my.cnf 添加免密登录skip-grant-tables update user set authentication_string=password('abc123') where Host='20.0.0.13' and User='婷'; |
1、用户管理
(1)创建用户create user '杨'@'20.0.0.13' identified by '123';
![]()


create user 创建用户的固定开头
'杨'@'localhost' :杨——用户名
localhost——新建用户‘杨’可以在哪些主机上登录(可以使用IP地址、网段、主机名)
例如:'杨'@'192.168.233.22' '杨'@'192.168.233.0/24'
'杨'@'%':%是mysql的通配符,表示任意和所有
identified by '123':新建用户的密码


(2)用户重命名rename user '杨'@'20.0.0.13' to 'yang'@'20.0.0.13';
![]()

(3)删除用户drop user '杨'@'20.0.0.13';
![]()
2、权限管理
(1)查看用户权限show grants for '杨'@'20.0.0.13';

(2)赋予用户权限(要在终端操作)
grant all privileges on *.* to '杨'@'localhost' identified by '123';
grant赋权的固定开头
all privileges赋予所有权限
on *.* 对所有库都有操作权限
on kgc.* 对指定库进行操作
to '杨'@'localhost' 赋权给哪个用户('杨'@'localhost'与创建用户时一致)
identified by '123'使用密码登录(创建用户时可以不设置密码,但不推荐)

测试。结论:远程登录成功

(3)删除用户权限(要在终端操作)
revoke all privileges on *.* from 'test1'@'20.0.0.13';
给什么权限就删除什么权限


(4)对用户权限进行控制
①赋予用户单个权限
grant select on *.* to '杨'@'20.0.0.13' identified by '123';

②赋予用户多个权限
grant select,update,insert,drop on kgc.* to '杨'@'20.0.0.13' identified by '123';

③移除单个权限revoke select on kgc.* from '杨'@'20.0.0.13';

④移除多个权限revoke update,drop on kgc.* from '杨'@'20.0.0.13';

(5)刷新权限flush privileges;
3、密码管理
(1)查看密码select * from user;
select User,Host,authentication_string from user;

(2)用户密码加密
select password('123');
create user '婷'@'20.0.0.13' identified by '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257';

(3)修改密码
①修改其他用户密码
set password for 'test1'@'20.0.0.13'=password('abc123');



②修改当前终端密码set password=password(‘123’);

③忘记密码后修改密码
vim /etc/my.cnf
添加免密登录skip-grant-tables
update user set authentication_string=password('abc123') where Host='20.0.0.13' and User='婷';






4、实题
(1)创建用户test1,只允许该用户从20.0.0.13终端登录,只对kgc库有权限,其他库一律不行


(2)创建用户test,默认密码123456,声明网段,网段任选
创建一个库,库名test1。在库中创建两个表table1和table2
table1:id 主键;name 不能为空;sex 不能为空
table2:id 主键;address 可以为空,默认地址不详;phone可以为空,不能重复
test用户可以对test1的库进行select、insert权限;test用户名改成test_123;密码修改为abc123;删除insert权限;给两个表分别创建索引,table1索引是hash 类型,sex做索引;table2索引是btree,phone做索引
1、创建table1

2、创建table2

3、创建用户test,默认密码123456,声明网段,网段任选

4、test用户可以对test1的库进行select、insert权限


5、test用户名改成test_123
![]()

6、密码修改为abc123

7、删除insert权限

8、给两个表分别创建索引,table1索引是hash 类型,sex做索引;table2索引是btree,phone做索引


相关文章:
mysql之用户管理、权限管理、密码管理
用户管理 创建用户create user 杨20.0.0.13 identified by 123; 用户重命名rename user 杨20.0.0.13 to yang20.0.0.13; 删除用户drop user 杨20.0.0.13; 权限管理 查看用户权限show grants for 杨20.0.0.13; 赋予用户权限grant all privileges on *.* to 杨localhost id…...
图情档核心期刊 | 北大核心、CSSCI、CSCD
中文核心期刊要目总览(A Guide to the Core Journal of China, 简称北大核心): 主办单位:北京大学图书馆更新频率:北大核心在2008年之前每4年更新研究和编制出版一次,2008年之后,改为…...
Mac上具好用的屏幕录像工具(Omi录屏专家)Screen Recorder By Omi Mac 下载安装详细教程
Omi 录屏专家 是 Mac 上的一款出色的录音工具,它让您能够在Mac电脑上轻松录制和保存高质量音频。这款应用拥有简单直观的操作界面,无论我们水平如何,都可以轻松捕捉录制卓越的音质和录像视频。 该版本的 Omi 安装后可以直接支持最高 4K 60帧…...
牛客网刷题-(8)
🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...
oracle 重启步骤及踩坑经验
oracle 重启步骤及踩坑经验 标准重启步骤 切换到oracle用户 su - oracle关闭监听 lsnrctl stop杀掉oracle有关进程 ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {print $2}|xargs kill -9#查询pid ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {p…...
处理mysql数据量大查询缓慢问题(最少百万才有差别)
我建了两个表,一个售后单表,一个售后商品明细表,都是五十个字段。 select * FROM (select id, as_id, as_date, outer_as_id, so_id, type, created, modified, status, status_name, shop_status, shop_status_name, remark, question_type,…...
element-plus走马灯不显示
问题描述 依赖正确,代码用法正确,但是element-plu走马灯就是不显示!! <div class"content"><el-carousel height"150px" width"200px"><el-carousel-item v-for"item in 4&qu…...
【精】UML及软件管理工具汇总
目录 1 老七工具(规划质量) 1.1 因果图(鱼骨图、石川图) 1.2 控制图 1.3 流程图:也称过程图 1.4 核查表:又称计数表 1.5 直方图 1.6 帕累托图 1.7 散点图…...
【uniapp+vue3】scroll-view实现纵向自动滚动及swiper实现纵向自动滚动
scroll-view本身不支持自动滚动,通过scroll-top属性控制滚动,但是不可以循环滚动 <scroll-view class"notice-bar" scroll-y"true" ref"scrollViewRef" :scroll-top"data.scrollViewTop"scroll-with-animati…...
this.refs[‘tagInput‘].refs.input.focus()和this.$refs[‘tagInput‘].focus()区别
this.$refs[tagInput].$refs.input.focus()和this.$refs[tagInput].focus()两者之间的选择取决于你的组件结构和如何访问DOM元素。 1.this.$refs[tagInput].$refs.input.focus(): 2.这种语法假设你的this.$refs[tagInput]是一个组件实例,并且这个组件实例有一个名为…...
电脑硬件坏了,如何维修?
在电子设备日益普及的今天,电脑已成为很多人生活和工作中不可或缺的工具,然而在使用过程中很容易遇见电脑故障之类的问题,这些问题十有八九来自硬件,那么针对电脑硬件问题,该如何维修? 一般来说,…...
elementplus日期时间选择器组件显示很窄
问题描述 似乎是elementplus原生组件的宽度是和父组件相关的 只要父组件很窄就会让弹窗也很窄,但其实两者的宽度不必有这种限制 解决思路 打开控制条查看元素位置以及css样式的class名 发现类名为el-picker-panel__body 尝试重构 css内写样式 .el-picker-pane…...
第三方软件测评选择远程测试好还是现场测试好?
如今许多软件企业在软件开发过程完成之后,会将软件测试工作交由第三方软件测评机构来进行,那么做第三方软件测试时,远程测试和现场测试哪个更好呢?我想这是许多软件企业都十分关注的问题,今天卓码软件测评小编将对以上问题作出简…...
HTTPS协议:保障网络安全的加密通信协议
在当今数字化时代,网络安全问题备受关注。为了保护用户的隐私和数据安全,HTTPS协议应运而生。本文将介绍HTTPS协议的定义、工作原理以及其在网络通信中的重要性。 一、HTTPS协议的定义 HTTPS(Hypertext Transfer Protocol Secure)…...
C++设计模式_21_Iterator 迭代器(理解;面向对象的迭代器已过时;C++中使用泛型编程的方式实现)
Iterator 迭代器也是属于“数据结构”模式。GoF中面向对象的迭代器已经过时,C中目前使用泛型编程的方式实现,其他语言还在使用面向对象的迭代器。 文章目录 1. 动机(Motivation)2. 模式定义3. Iterator 迭代器代码分析4. 面向对象的迭代器与泛型编程实现…...
有一个 3*4 的矩阵,找出其中值最大的元素,及其行列号
1解题思路: 首先学会输入二维数组;然后知道如何比较求最大值;最后就是格式问题; 2代码: #include<stdio.h> int main() {int a[3][4];int i,j,max,row,line;for(i0;i<3;i){printf("请输入二维数组\n&…...
磁盘的命令
目录 1- 磁盘空间命令1.1 df1.2 du只想查看目录的权限 加 -d 参数 1- 磁盘空间命令 1.1 df 全称 disk free 快速获取磁盘被占用了多少空间, 目前还剩下所少空间 常用命令df -hdf 是从总体上统计系统各磁盘的占用情况,不能统计具体的文件夹或文件的大小 1.2 du 全称 disk u…...
一张图讲清楚业务稳定性要如何做:SRE体系化稳定性方案
概述:作为一个SRE、运维工程师,当我们在治理系统稳定性时,方法有很多,但往往无从下手。本文以一张逻辑图的形式,为读者提供治理稳定性的体系化思路。 先上图: 1、治理目标 我们做稳定性的目标,…...
安卓端GB28181设备接入模块如何实现实时位置订阅(MobilePosition)
技术背景 实时位置(MobilePosition)订阅和上报,对GB28281设备接入终端尤其重要,如移动单兵设备、执法记录仪、智能安全帽、车载终端等,Android国标接入设备通过获取到实时经纬度信息,按照一定的间隔上报到…...
11.与JavaScript深入交流-[js一篇通]
文章目录 1.变量的使用1.1基本用法1.2理解 动态类型 2.基本数据类型2.1number 数字类型2.1.1数字进制表示2.1.2特殊的数字值 2.2string 字符串类型2.2.1基本规则2.2.2转义字符2.2.3求长度2.2.4字符串拼接 2.3boolean 布尔类型2.4undefined 未定义数据类型2.5null 空值类型 3.运…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
