MySQL用户管理和授权

用户管理和授权是属于MySQL当中的DCL语句

创建用户以及一些相关操作

明文创建用户

create user 'zzr'@'localhost' IDENTIFIED by '123456';

create user  这是创建用户的开头

zzr表示用户名
localhost:新建的用户可以在哪些主机上登录。即可以使用IP地址,网段,主机名都可以

IDENTIFIED by '123456';  新建用户的密码

我们可以通过IP地址网段主机名进行创建,这些都是对'location'的操作

'zzr'@'localhost'
'zzr'@'192.168.233.0/24'
'zzr'@'192.168.233.22'
'zzr'@'%'

其中  %代表正则任意

加密密码创建用户 :

 SELECT PASSWORD('密码');    #先获取加密的密码
 ​
 CREATE USER 'lisi'@'localhost' IDENTIFIED BY PASSWORD '加密的密码';

登录用户用户名的更改 

 RENAME USER '旧的用户名'@'旧的主机地址' TO '新的用户名'@'新的主机地址';

rename user 'test1'@'20.0.0.100' to 'zzr'@'20.0.0.100';

重命名之后,原本的test1不会保留,新的直接覆盖

删除用户

drop user '用户名'@'登录地址';

drop user 'zzr'@'localhost';

修改用户密码

set password = password('abc123');

给其他用户设置密码:

set password for 'zzr'@'20.0.0.100' = password('123123');

注意:终端没有修改密码的权限,所以得去命令行进行修改密码操作

root用户是超级管理员,它不仅可以修改自身密码,还能修改其他用户的密码。 

root密码的忘记后的修改找回方法 

 该操作必须是在数据库本机且为root用户,才可进行

vim  /etc/my.cnf
 
skip-grant-tables

然后重启数据库即可

systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

用户的相关权限

权限   权限说明权限级别
CREATE创建数据库、表或索引的权限  数据库、表或索引
DROP   删除数据库或表的权限数据库或表
GRANT OPTION  赋予权限选项 数据库或表
REFERENCES 引用权限数据库或表
ALTER  更改表的权限数据表
DELETE 删除表数据的权限 数据表
INDEX操作索引的权限数据表
INSERT  添加表数据的权限数据表
UPDATE 更新表数据的权限 数据表
CREATE VIEW 创建视图的权限视图
SHOW VIEW查看视图的权限视图
ALTER ROUTINE 更改存储过程的权限存储过程

如何给用户赋权

grant all privileges on *.* to 'hj'@'localhost' IDENTIFIED by '123456';

grant 赋权的开头语句

all PRIVILEGES 赋予所有权限

on *.* 所有库

on *.* 所有库都有操作权限

on hj.*  只能对指定(hj)库进行操作

to 'hj'@'localhost' 赋权给哪个用户,要和创建用户赋权格式一致。

IDENTIFIED by '123456' 使用哪个密码进行登录。创建用户时候可以省略
show grants for 'hj'@'localhost';

查看权限



flush privileges;    权限刷新

如何查看指定用户权限

show grant for '用户名'@'来源地址';

show grant for 'hj'@'20.0.0.100';

如何对权限进行控制

给用户加上权限:

grant select on 库名.* to '用户名'@'来源地址' idevtified by '密码';


grant select on test.* to 'test1'@'20.0.0.100' idevtified by '123456';

flush privileges;

如何给一个用户赋予多个权限

grant select,insert,drop on hj.* to  'test1'@'20.0.0.100'  identified by '123456';

如何给用户撤销权限

revoke select on hj.* from 'test1'@'20.0.0.100';

练习

1.创建用户,声明网段 test 网段任选

create user 'test'@'20.0.0.0/24' IDENTIFIED by '123123'

2.创建一个库,库名:test1

3.库中创建两个表分别叫做

table1

id 主键

name 不为空

sex 不为空

CREATE TABLE table1 (
id int(4) PRIMARY KEY,
name_id int(4) NOT NULL,
sex int(4) not null
)

table2

id 主键

address 可以为空 默认-----地址不详

phone 可以为空,不能重复

CREATE TABLE table2 (
id int(4) PRIMARY KEY,
address varchar(50) default '地址不详',
phone varchar(12) UNIQUE
)

3.test可以对test1 的库 进行select insert

GRANT SELECT,INSERT on test1.* to 'test'@'20.0.0.0/24' IDENTIFIED by '123123';
//终端没有权限,所以得去root的命令行执行

4.把test的用户名改成test_123,密码改成abc123

set passwd for 'test'@'20.0.0.%' = password('abc123');
%为正则任意,来代表网段

5.删除权限:insert删去

总结

1.用户管理操作

create user 'username'@'address' identified by 'password';   #创建用户  ​

 select user,host,authentication_string from mysql.user;   #查看用户信息  ​

 rename user old_user to new_user;        #修改用户名  ​

 drop user '用户名'@'来源地址';            #删除用户  ​  

set password = password('XXXX');         #修改当前登录用户的密码  ​

 set password for '用户名'@'来源地址' = password('XXXX');     #修改其他用户的密码  ​

 select user ();      #查看当前登录用户和来源地址  ​

忘记root用户密码的解决方法:  

修改mysql配置文件/etc/my.cnf,在 [mysqld] 配置项下加入 skip-grant-tables

service mysqld restart   #重启服务

 update mysql.user set authentication_string=password('新密码') where user='root';  

#修改密码 flush privileges; #刷新数据库

2.用户授权操作 

grant 权限列表/ALL ON 库名.表名 to 'username'@'address' identified by '密码';  ​   #授予用户权限  show grants;     #查看当前用户(自己)的权限                

show grants for 'username'@'address';      #查看其他用户的权限  ​

 revoke 权限列表/ALL on 库名.表名 from 'username'@'address';   #撤销用户的权限  ​  


 

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

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

相关文章

2023年10月13日,美国材料与试验协会(ASTM)发布了新版玩具安全标准ASTM F963-23

新标准发布 2023年10月13日,美国材料与试验协会(ASTM)发布了新版玩具安全标准ASTM F963-23。 主要更新内容 与ASTM F963-17相比,此次更新包括:单独描述了基材重金属元素的豁免情况,更新了邻苯二甲酸酯的管…

食堂管理,这个操作不要太绝哦!

随着科技的不断进步,餐饮行业也在积极寻求创新的方式来提高效率、提供更好的客户体验以及降低运营成本。智慧收银系统为餐饮业提供了一个全新的方式来管理交易、优化库存和了解客户需求。 智慧收银系统使食堂经营者能够实现更高的自动化、更大的精确度和更好的数据分…

C++前缀和算法的应用:预算内的最多机器人数目

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 单调双向队列 滑动窗口 题目 你有 n 个机器人,给你两个下标从 0 开始的整数数组 chargeTimes 和 runningCosts ,两者长度都为 n 。第 i 个机器…

[迁移学习]DA-DETR基于信息融合的自适应检测模型

原文标题为:DA-DETR: Domain Adaptive Detection Transformer with Information Fusion;发表于CVPR2023 一、概述 本文所描述的模型基于DETR,DETR网络是一种基于Transformer的目标检测网络,详细原理可以参见往期文章:…

【教程】R语言生物群落(生态)数据统计分析与绘图

查看原文>>>R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自…

控梦术(一)之什么是清明梦

控梦术 首先,问大家一个问题。在梦中,你知道自己是在做梦吗?科学数据表明,大约23%的人在过去一个月中,至少有一次在梦中意识到自己正在做梦。科学家把这叫做清醒梦或者叫做清明梦。科学家说,每个人都能学会…

关于有效客户关系管理,你需要了解的一切

为了了解客户购买决策的驱动因素或阻碍因素,你需要组织和分析有关客户需求、喜好和厌恶的数据。这正是客户关系管理其中一个重要方面。有效的客户关系管理可以帮助企业与其现有客户和潜在客户建立联系,以提高客户满意度并确保销售周期有利可图。 什么是客…

阿里云2023年双11活动,云服务器价格出炉,2核2G云服务器99元/年!

阿里云2023年双11期间推出了金秋云创季活动,新老用户均可领取上云满减券礼包,单笔订单最高减2400元,还有多款爆品超低折扣,2核2G云服务器99元/年,续费不涨价,新老用户同享! 一、阿里云双11活动地…

uniapp使用z-paging插件下拉刷新

z-paging插件地址传送门 z-paging官网说明传送门 一、uniapp使用z-paging插件下拉刷新 1.导入插件 2.粘贴ui结构 <z-paging ref="paging" v-model="dataList"

省钱兄短剧短视频视频滑动播放模块源码支持微信小程序h5安卓IOS

# 开源说明 开源省钱兄短剧系统的播放视频模块&#xff08;写了测试弄了好久才弄出来、最核心的模块、已经实战了&#xff09;&#xff0c;使用uniapp技术&#xff0c;提供学习使用&#xff0c;支持IOSAndroidH5微信小程序&#xff0c;使用Hbuilder导入即可运行 #注意&#xff…

c++ 继承方式高内聚read write function操作

代码示例1 #include <iostream> #include <fstream> #include <vector>using namespace std;struct BaseDevice {BaseDevice(const std::string sType, const std::string sApplication) : strType(sType), strApplication(sApplication){}virtual ~BaseDev…

区块链物联网中基于属性的私有数据共享与脚本驱动的可编程密文和分散密钥管理

Attribute-Based Private Data Sharing With Script-Driven Programmable Ciphertext and Decentralized Key Management in Blockchain Internet of Things 密钥生成算法 第 1 步&#xff1a;对于属性集A 的用户IDk&#xff0c;他首先将属性集A发送给Pi并且计算 &#xff0c…

亚马逊云科技为奇点云打造全面、安全、可扩展的数据分析解决方案

刘莹奇点云联合创始人、COO&#xff1a;伴随云计算的发展&#xff0c;数据技术也在快速迭代&#xff0c;成为客户迈入DT时代、实现高质量发展的关键引擎。我们很高兴能和云计算领域的领跑者亚马逊云科技一同&#xff0c;不断为客户提供安全可靠的产品与专业的服务。 超过1500家…

项目部署之OpenResty

项目部署之OpenResty 1. OpenResty介绍 OpenResty 是一个基于Nginx的高性能Web平台&#xff0c;用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。具备下列特点&#xff1a; 具备Nginx的完整功能基于Lua语言进行扩展&#xff0c;集成了大量精良…

分布式消息队列:Rabbitmq(2)

目录 一:交换机 1:Direct交换机 1.1生产者端代码: 1.2:消费者端代码: 2:Topic主题交换机 2.1:生产者代码: 2.2:消费者代码: 二:核心特性 2.1:消息过期机制 2.1.1:给队列中的全部消息指定过期时间 2.1.2:给某条消息指定过期时间 2.2:死信队列 一:交换机 1:Direct交…

零信任安全模型和多因素身份验证:提升网络安全的关键一步

近年来&#xff0c;随着疫情的蔓延和科技的飞速发展&#xff0c;数据和工作的数字化程度前所未有。这虽然为机会创造提供了更多空间&#xff0c;但也为潜在威胁行为者提供了新的入侵途径。因此&#xff0c;数据泄露的防范已经成为每个组织IT基础设施中不可或缺的一部分。 数据泄…

远程IO在激光行业:实现高效、精准控制的解决方案

激光机简介 激光机是激光雕刻机、激光切割机和激光打标机的总称。激光机利用其高温的工作原理作用于被加工材料表面&#xff0c;同时根据输入到机器内部的图形&#xff0c;绘制出客户要求的图案、文字等。激光机根据用途可分为激光切割机和激光雕刻机。其中&#xff0c;激光切割…

liunx练习题之在同一主机提供多个的web服务

虚拟web主机类型 一、基于端口 1.vim /etc/httpd/conf.d/vhost2.conf ---- — 改变http服务默认访问路径 <directory /testweb1>allowoverride none 表示不允许覆盖其他配置require all granted 表示允许所有请求 </directory> <virtualhost 0.0.0.0:…

NVME CMB原理和常规使用方案详解

什么是CMB 在NVMe Express 1.2 Spec中开始支持一个特性&#xff0c;那就是CMB&#xff08;Controller Memory Buffer&#xff09;&#xff0c;是指SSD控制器内部的读写存储缓冲区&#xff0c;与HMB&#xff08;Host Memory Buffer&#xff09;的不同处在于所使用的内存地址位于…