MySQL8--用户与权限管理

原文网址:MySQL8--用户与权限管理_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍MySQL8的用户与权限的管理,包括:用户的创建与删除、授权与撤销权限等。

为什么要管理用户与权限?

目的是保证数据库的安全性,只授予能满足需要的最小权限,防止用户干坏事,比如:删除了表、清空了数据库等。

Java星球:way2j.com

注意

以下所有命令都必须先用mysql命令连接到数据库:

mysql -uroot -p

回车后会提示输入密码。 

查看用户

SELECT host, user, plugin FROM mysql.user;

红色箭头:主管理员

黄色箭头:mysql系统自带的,不要动它。

蓝色箭头:自己创建的用户,这个是我以前创建的

创建用户

CREATE USER '#userName'@'#host' IDENTIFIED BY '#passWord';
FLUSH PRIVILEGES;

#userName 代表你要创建的此数据库的新用户账号
#host 代表允许访问的主机。
如果host_name省略,默认为%。详情如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定某个ip访问权限,如10.138.106.102

#passWord 用户的密码

示例

本处要创建的用户是testUser,密码是111222,并且可远程访问

CREATE USER 'testUser'@'%' IDENTIFIED BY '111222';
FLUSH PRIVILEGES;

执行完后查看结果:

删除用户

法1:删除用户(指定主机)

DROP USER '用户名'@'主机名';

例如:

DROP USER 'testUser'@'%';

法2:删除用户

默认删除host为%的用户

DROP USER '用户名';

法3:DELETE语句删除用户 

DELETE FROM mysql.user WHERE Host='主机名' AND User='用户名';

例如:

DELETE FROM mysql.user WHERE Host='%' AND User='testUser';

修改密码

ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';

例如:

CREATE USER 'testUser'@'%' IDENTIFIED BY '111222';

查看用户权限

说明

SHOW GRANTS FOR '#userName'@'#host';

#userName 代表用户名

#host 代表允许访问的主机,如果host_name省略,默认为%。详情如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

示例

MySQL所有权限见:此文

给用户授权

示例

例1:给adminUser用户赋予所有权限

GRANT ALL ON *.* TO 'adminUser'@'%';

例2:给testUser用户赋予所有库表的增删改查权限

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, CREATE VIEW, SHOW VIEW *.* TO 'testUser'@'%';

最后都要刷新权限

FLUSH PRIVILEGES;

详解

GRANT #auth ON #databaseName.#tableName TO '#userName'@'#host';

#auth 代表权限,例如

  • ALL 全部权限
  • SELECT 查询权限(单个)
  • SELECT,INSERT,UPDATE,DELETE 增删改查权限(多个权限)

#databaseName 代表数据库名

  • *代表全部库

#tableName 代表具体表,如下

  • *代表全部表
  • A,B 代表具体A,B表

#userName 代表用户名

#host 代表允许访问的主机,如果host_name省略,默认为%。详情如下:

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定某个ip访问权限,如10.138.106.102

撤销用户权限

REVOKE #auth ON '#databaseName'.'#tableName' TO '#userName'@'#host';

与上边“给用户授权”的参数含义是一样的。

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

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

相关文章

Unity Shader unity文档学习笔记(十八):unity雾效原理

看很多文章用近平面远平面组成矩阵后转到裁剪空间下通过Z值来解,实际更简单的方式可以直接通过判断距离来实现 FogMgr控制远近面 public class TestFog : MonoBehaviour {public int startDis 0;public int endDis 50;public Vector4 fogParam;public void Awak…

文件未保存后能否恢复?分享实用恢复指南,6个方法

在日常用电脑时文件未保存而导致的数据丢失,是许多人都会遭遇的棘手问题。那么面对这样的情况,文件真的能够恢复吗?本文将深入分析文件恢复的可能性,并提供一系列实用的建议。 一、了解文件恢复的基础 首先我们需要明白文件恢复并…

并发--快速查询死锁信息

使用jstack查看线程堆栈信息 jstack:jdk提供的一个工具,可以查看java进程中线程堆栈信息。 位于:jdk1.8.0_121\bin包下 死锁代码 public class DeadLockDemo {private static String A "A";private static String B "B"…

uniapp微信小程序本地和真机调试文件图片上传成功但体验版不成功

文章目录 导文是因为要添加服务器域名! 导文 uniapp微信小程序本地和真机调试文件图片上传成功但体验版不成功 uniapp微信小程序体验版上传图片不成功 微信小程序本地和真机调试文件图片上传成功但体验版不成功 是因为要添加服务器域名! 先看一下 你小程…

[Docker][Docker Image]详细讲解

目录 1.Docker镜像是什么?2.Docker镜像加载原理1.bootfs2.rootfs3.为什么CentOS镜像几个G,而Docker CentOS镜像才几百M?1.CentOS2.Docker CentOS 3.镜像分层1.Union FS2.分层理解3.容器层 vs 镜像层 4.镜像命令1.docker images2.docker image…

fusetech_plus项目问题解决(若依魔改系列)

首页一直出现这个问题解决,是因为访问入口都在admin模块,所以必须在admin的pom里 引入blog模块 template might not exist or might not be accessible by any of the configured Template Resolvers 这个问题 类似mapper找不到问题 路径不对&#xf…

Android Compose 中的 UI 状态魔法:优雅处理加载、空状态和数据展示

Android Compose 中的 UI 状态魔法:优雅处理加载、空状态和数据展示 在Jetpack Compose中处理UI界面状态的这种情况,我们可以使用一个密封类(sealed class)来表示不同的UI状态,然后根据状态来显示相应的UI。以下是一个实现这种功能的示例: 首先,定义一个表示UI状态的密…

Selenium与WebDriver:Errno 8 Exec格式错误的多种解决方案

概述 在使用Selenium和WebDriver进行网页自动化时,可能会遇到各种错误。其中一个常见问题是执行格式错误(Errno 8 Exec format error)。这个错误通常在运行ChromeDriver时出现,错误提示涉及路径中的某个文件,如THIRD_…

什么是三级管?怎么区分PNP和NPN两种?

1.什么是三极管? 三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种控制电流的半导体器件。其作用是把微弱信号放大成幅度值较大的电信号,也用作无触点开关。三极管是半导体基本元器件之一&#xff0…

qiankun 微前端 隔离子应用样式,解决 ant-design-vue 子应用样式污染问题(已落地)

样式冲突产生原因 先分析乾坤qiankun 构建之后,会根据你的配置 给每个子应用生成一个id, 当加载到对应子应用的时候,就把内容放到对应的id 标签里去, 这样能有效的隔离 js 代码,但是样式是加载在全局的 所以 当两个子…

080基于ssm+vue的大学生兼职信息系统

开发语言:Java框架:ssmJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.…

matlab仿真 信道编码和交织(上)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第八章内容,有兴趣的读者请阅读原书) ​​​ ​ ​ ​ clear all N10;%信息比特的行数 n7;%hamming码组长度n2^m-1 m3;%监督位长度 [H,G]hammgen(m);%产生(n,n-…

ai写作一键生成软件有哪些免费的网站推荐

AI写作助手大揭秘!1秒提升创作力,高效出文秘籍! 在这个信息爆炸的时代,每个人都可以成为信息的发布者。 不论是个人博客、社交媒体更新,还是学术文章、企业报告,写作无处不在。 然而,高质量的…

产品升级!抗性宏基因组又增添新成员:毒力基因VFDB-2024版

凌恩明星产品 抗性宏基因组 内容又增加啦! 注释数据库增添新成员—— 毒力因子VFDB注释-2024版 VFDB数据库全称为Virulence Factors of Pathogenic Bacteria,用于专门研究致病细菌、衣原体和支原体致病因子的数据库。来源于微生物,并对微…

C语言指针·入门用法超详解

目录 1. 什么是指针 2. 指针变量的定义格式 3. 指针的作用 3.1 查询数据 3.2 存储数据(修改数据) 3.3 操作其他函数中的变量 3.4 函数返回多个值 3.5 函数的结果和计算状态分开 1. 什么是指针 通过内存地址,指向的空间&#…

终端pip安装包后,Pycharm却导入失败?新手别慌,3招搞定!

很多小伙伴在学习Python的过程中,都会遇到这种情况:明明在终端用pip安装好了需要的包,但在Pycharm中导入时却报错。难道是安装姿势不对? 例如在cmd中已经有了pandas,但是去pycharm中导入pandas显示没有 先别急着怀疑人生,这很可能是因为pip安装包的路径和Pycharm项目使用…

数据结构之八大排序(上)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 排序的相关介绍 直接插入排序 希尔排序(缩小增量排序) 选择排序 …

SQL-自连接和分组

一.介绍 这是一道面试题,看似简单,其实还是有一定技巧的,分析一下可以复习一下SQL查询的一些重要概念。 二.问题 给定一个包含四列的员工表 IDNameSalaryManagerId 要求 获取经理姓名、每个经理的员工数量以及每个团队的总工资。 三.设…

Vscode ssh Could not establish connection to

错误表现 上午还能正常用vs code连接服务器看代码,中午吃个饭关闭vscode再重新打开输入密码后就提示 Could not establish connection to 然后我用终端敲ssh的命令连接,结果是能正常连接。 解决方法 踩坑1 网上直接搜Could not establish connectio…

前端表格控件:打造自动化报表的高效工具

摘要 在现代Web应用中,自动化报表的生成对于数据分析和业务决策至关重要。前端表格控件提供了一种直观且强大的方式,使得报表的创建、展示和交互变得更加容易。本文将探讨如何利用前端表格控件实现自动化报表的设计、生成和优化。 引言 自动化报表可以…