高级篇三、用户与权限管理

news2024/9/30 9:28:37

第03章_用户与权限管理.pdf

1、用户管理

1.1 登录MySQL服务器

mysql -h xxx -P xxx -u xxx -p DatabaseName –e "SQL语句"

下面详细介绍命令中的参数:

  • -h参数 后面接主机名或者主机IP,hostname为主机,hostIP为主机IP。
  • -P参数 后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口是3306,不使用该参数时自动连接到3306端口,port为连接的端口号。
  • -u参数 后面接用户名,username为用户名。
  • -p参数 会提示输入密码。
  • DatabaseName参数 指明登录到哪一个数据库中。如果没有该参数,就会直接登录到MySQL数据库中,然后可以使用USE命令来选择数据库。
  • -e参数 后面可以直接加SQL语句。登录MySQL服务器以后即可执行这个SQL语句,然后退出MySQL服务器。

举例:

mysql -uroot -p -hlocalhost -P3306 mysql -e "select host,user from user"

1.2 创建用户

CREATE USER语句的基本语法形式如下:

CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']];
  • 用户名参数表示新建用户的账户,由 用户(User) 和 主机名(Host) 构成;
  • “[ ]”表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,这样用户可以直接登录。不过,不指定密码的方式不安全,不推荐使用。如果指定密码值,这里需要使用IDENTIFIED BY指定明文密码值。
  • CREATE USER语句可以同时创建多个用户。

举例:

CREATE USER zhang3 IDENTIFIED BY '123123'; # 默认host是 %
CREATE USER 'kangshifu'@'localhost' IDENTIFIED BY '123456';

5、角色管理

1、角色的理解

引入角色的目的时方便管理相同权限的用户。只需要给相同权限的用户分配角色即可,而不需要分配具体的权限
在这里插入图片描述

2、创建角色

创建角色使用 CREATE ROLE 语句,语法如下:

CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...

如果host_name省略,默认为% , role_name不可省略 ,不可为空。

demo:

CREATE ROLE 'manage'@'localhost';

3、给角色赋予权限

创建角色之后,默认这个角色是没有任何权限的,我们需要给角色授权。

GRANT privileges ON table_name TO 'role_name'[@'host_name'];

demo:

grant select,update on dbtest1.* to 'manager'@'localhost';

4、查看角色的权限

赋予角色权限之后,我们可以通过 SHOW GRANTS 语句,来查看权限是否创建成功了:
在这里插入图片描述
只要你创建了一个角色,系统就会自动给你一个“ USAGE ”权限,意思是连接登录数据库的权限 。

5、回收角色的权限

角色授权后,可以对角色的权限进行维护,对权限进行添加或撤销。添加权限使用GRANT语句,撤销角色或角色权限使用REVOKE语句。

REVOKE privileges ON tablename FROM 'rolename';

6、删除角色

当我们需要对业务重新整合的时候,可能就需要对之前创建的角色进行清理,删除一些不会再使用的角色

DROP ROLE role [,role2]...

7、给用户赋予角色

角色创建并授权后,要赋给用户并处于 激活状态 才能发挥作用。给用户添加角色可使用GRANT语句,语法形式如下:

GRANT role [,role2,...] TO user [,user2,...];

在上述语句中,role代表角色,user代表用户。可将多个角色同时赋予多个用户,用逗号隔开即可。

demo: 给用户zhang3赋予manager的角色

grant 'manager'@'localhost' to 'zhang3'@'%';

使用zhang3用户登录,然后查询当前角色,如果角色未激活,结果将显示NONE。SQL语句如
下。
在这里插入图片描述

8、激活角色

1、使用set default role 命令激活角色

SET DEFAULT ROLE 角色 TO '用户'@'localhost';

demo:

set 'manager'@'localhost' to 'zhang3'@'localhost';

2、将activate_all_roles_on_login设置为ON

SET GLOBAL activate_all_roles_on_login=ON;

这条 SQL 语句的意思是,对 所有角色永久激活 。运行这条语句之后,用户才真正拥有了赋予角色的所有
权限。

9、撤销用户的角色

撤销用户角色的SQL语法如下:

REVOKE role FROM user;

10、设置强制角色(mandatory role)

方式1:服务启动前设置

mandatory_roles='role1,role2@localhost,r3@%.atguigu.com'

方式2:运行时设置

SET PERSIST mandatory_roles = 'role1,role2@localhost,r3@%.example.com'; #系统重启后仍然
有效
SET GLOBAL mandatory_roles = 'role1,role2@localhost,r3@%.example.com'; #系统重启后失效

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

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

相关文章

如何在Google Play设置置顶大图

应用的置顶大图是Google Play商店上ASO优化的重要一环,是我们保持品牌形象的重要场所。如果我们没有设置预览视频,那么Google Play 将会使用置顶大图,如果添加了预览的视频,那么视频会放置在置顶大图的顶部。 添加游戏或应用程序…

关于Redis的BigKey

文章目录 准备keys * 等命令的危害与避免不用keys * ,应该用什么BigKey阿里云Redis开发规范多大算Big危害怎么产生的?怎么发现BigKey怎么删除String类型使用hscan每次获取少量field-value,再使用hdel删除每个field使用ltrim渐进式逐步删除&am…

管理后台项目-02-平台属性组件模块

目录 1-分类三级列表 2-属性列表 2.1-需求功能分析 2.2-功能代码实现数据获取和变动 2.3-动态渲染数据 3-新增修改属性 3.1-点击新增属性逻辑处理 3.2-点击列表页面修改属性逻辑 3.3-新增和修改属性 3.4-点击删除属性值 3.5-点击删除属性 1-分类三级列表 需求&…

通过案例来了解响应式开发的音频控件

目录 前言 一、视频控件的使用方法 1.语法 2、部分功能介绍 二、案例举例 三、播放效果 前言 1.本文讲解的响应式开发技术(HTML5CSS3Bootstrap)的HTML5表单等功能方法的代码,这也是很多教材的一个典型案例; 2.本文将讲解涉…

IMX6ULL裸机篇之中断实验-通用中断驱动说明二

一. 通用中断驱动 本文是 IMX6ULL 裸机篇---中断实验。旨在用 C 语言编写一套简单的中断驱动框架代码。 在 start.S 文件中,我们在中断服务函数 IRQ_Handler 中调用了 C 函数 system_irqhandler 来处 理具体的中断。 本实验会认识中断控制器:…

RT-DETR论文学习笔记(DETRs Beat YOLOs on Real-time Object Detection)

论文地址:https://arxiv.org/abs/2304.08069 代码地址:GitHub - PaddlePaddle/PaddleDetection: Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time mult…

完美解决丨ValueError: time data ‘2018/12/24‘ does not match format ‘%Y/%m/%d‘

这里我选择的是: python from datetime import datetime date datetime.strptime(2018/12/24, %Y/%m/%d) 如果你可以执行这段代码,那么你可能会收到这样的报错: python Traceback (most recent call last): File "C:\Users\Administra…

机器学习中最基本的概念之一:数据集、样本、特征和标签

本文重点 数据集、样本、特征和标签是机器学习中的重要概念,这些概念在机器学习算法的设计和实现过程中起着至关重要的作用。在本文中,我们将对这些概念进行详细的讲解,以便更好地理解机器学习算法的基本原理和应用。 一、数据集 数据集是机器学习中最基本的概念之一,它…

VUE3 取Slot元素方法

VUE3 取Slot元素方法 话说前面,这方法诡异的很…尽量不要用. 我这里要实现一个对slot元素进行方法拓展的事情 就比如说我要给一个元素添加自定义拖放事件,正常来说大概是这样的 //vue3 <template><div class"custom" ref"el"><slot> …

Visual Instruction Tuning: 用LLaVA近似多模态GPT-4

©Paperweekly 原创 作者 | Chunyuan Li 使用 GPT-4 进行视觉指令学习&#xff01;Visual Instruction Tuning with GPT-4! ▲ Generated by GLIGEN (https://gligen.github.io/): A cute lava llama and glasses 我们分享了 LLaVA (Language-and-Vision Assistant)&#…

linux工具gcc/g++/gdb/git的使用

目录 gcc/g 基本概念 指令集 函数库 &#xff08;重要&#xff09; gdb使用 基本概念 指令集 项目自动化构建工具make/makefile 进度条小程序 ​编辑 git三板斧 创建仓库 git add git commit git push git status git log gcc/g 基本概念 gcc/g称为编译器…

集合详解之(五)Map集合

文章目录 &#x1f412;个人主页&#x1f3c5;JavaSE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;Map集合的介绍&#x1fa85;如何保证键的不重复性&#xff1f;&#xff08;equals()与hashCode()方法的联用&#xff09;&#x1f380;HashMap集合及常用方法&#x1f38…

电能计量自动化系统在用电管理上的应用

【摘要】&#xff1a;电能计量自动化系统在用电管理上的应用&#xff0c;不仅能够实现远程自动抄表&#xff0c;减少企业在人力资源成本上的投入&#xff0c;切实地维护企业的核心利益&#xff0c;创造出更多的经济效益。还能够通过装置在线监测与配网防窥电功能实现对电能计量…

D. Tokitsukaze, CSL and Stone Game(博弈)

Problem - D - Codeforces 时津风和CSL正在玩一个石头的小游戏。 一开始&#xff0c;有n个石子堆&#xff0c;其中第ii堆有aiai石子。两位玩家轮流走棋。时津风先走。每一回合&#xff0c;棋手选择一个非空的棋堆&#xff0c;并从该棋堆中准确地取出一块石头。如果在轮到他之前…

2 路 500MSPS/1GSPS/1.25GSPS 14 位直流耦合 AD 采集 FMC 子卡模块

板卡概述 FMC155 是一款基于 VITA57.1 标准的&#xff0c;实现 2 路 14-bit、 500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FMC 子卡模 块。该模块遵循 VITA57.1 规范&#xff0c;可直接与 FPGA 载卡配合使用&#xff0c;板 卡 ADC 器件采用 ADI 的 AD9680 芯片&#xf…

Python每日一练(20230420)

目录 1. 数组逐位判断 &#x1f31f; 2. 交错字符串 &#x1f31f;&#x1f31f; 3. 二进制求和 &#x1f31f; 4. 四舍六入五成双规则 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 J…

12、HOOK原理下

一、去符号和恢复符号 1.1 Stip和 Strip Type解释 strip在iOS中的作用是 剥掉目标文件中一些符号信息和调试信息&#xff0c;使文件变小。dead code strip &#xff1a; 死代码剥离、然后再去链接。那么strip在哪些地方不能起作用呢&#xff1f; 动态库 不能strip全局符号、因…

Windows下使用SSH密钥实现免密登陆Linux服务器

工具&#xff1a; win10、WinSCP 生成ssh密钥&#xff1a; 打开终端&#xff0c;使账号密码登录&#xff0c;输入命令 ssh-keygen -t rsa 会提示密钥存放路径&#xff0c;一般存放在默认路径&#xff0c;直接回车即可&#xff0c;中间会提示输入密码&#xff0c;这里需要注…

工作流自动化和RPA自动化,哪个更适合你?

2018年&#xff0c;一款名为《Overcooked!2》&#xff08;又名“胡闹厨房”、“分手厨房”&#xff09;的多人合作模拟类游戏风靡全球&#xff0c;在游戏中&#xff0c;玩家扮演厨师在充满各种障碍和危险的厨房里准备食材、烹饪、上菜和清理&#xff0c;需要在尽可能短的时间内…

window11开启wsl2

前言 以前玩linux&#xff0c;总是习惯装双系统&#xff0c;其实双系统特别麻烦。wsl现在的功能其实挺强大的&#xff0c;完全可以代替双系统&#xff0c;去完成一些在linux上的环境搭建。这篇文章记录下window11如何开启wsl2功能&#xff0c;并且安装ubuntu系统。 开启wsl2功…