15 用户管理

news2024/9/22 7:34:51

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用mysql的用户管理

在这里插入图片描述
张三只能操纵mytest这个库,李四只能操纵msg这个库,如果给他们root账户,就可以操纵所有库,风险太大

用户

用户信息

用户都存储在系统数据库mysql的user表中

mysql> use mysql;
Database changed
mysql> select host,user,authentication_string from user;
在这里插入图片描述
–可以通过desc user初步查看一下表结构

字段解释:
host:表示这个用户可以从哪个主机登录,如果是localhost,表示只能从本机登录
user:用户名
authentication_string:用户密码通过password函数加密过后的
*_priv:用户拥有的权限

创建用户

语法:

create user ‘用户名’@‘登录主机/ip’ identified by ‘密码’;

案例:

mysql> create user ‘tmp’@‘localhost’ identified by ‘12345678’;
Query OK, 0 rows affected (0.06 sec)

mysql> select user,host,authentication_string from user;
在这里插入图片描述

– 此时便可以使用新账号新密码进行登陆

–备注:可能实际在设置密码的时候,因为mysql本身的认证等级比较高,一些简单的密码无法设置,会爆出如下报错:-- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements-- 解决方案:https://blog.csdn.net/zhanaolu4821/article/details/93622812–查看密码设置相关要求:SHOW VARIABLES LIKE ‘validate_password%’;

关于新增用户这里,需要大家注意,不要轻易添加一个可以从任意地方登陆的user。

删除用户

语法:

drop user ‘用户名’@‘主机名’

示例:

select user,host,authentication_string from user;
在这里插入图片描述
mysql> drop user whb; --尝试删除
ERROR 1396 (HY000): Operation DROP USER failed for ‘temp’@‘%’ – <= 直接给个用户名,不能删除,它
默认是%,表示所有地方可以登陆的用户
mysql> drop user ‘temp’@‘localhost’; --删除用户
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,authentication_string from user;
在这里插入图片描述

修改用户密码

语法:

  • 自己改自己密码

set password=password(‘新的密码’);

–自己下来试试

  • root用户修改指定用户的密码

set password for ‘用户名’@‘主机名’=password(‘新的密码’);

mysql> select host,user, authentication_string from user;
在这里插入图片描述

mysql> set password for ‘whb’@‘localhost’=password(‘87654321’);
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> select host,user, authentication_string from user;
在这里插入图片描述

数据库的权限

mysql数据库提供的权限列表:
在这里插入图片描述

给用户权限

刚创建的用户没有任何权限,需要给用户授权

grant 权限列表 on 库.对象名 to ‘用户名’@‘登录位置’ [indentified by ‘密码’]

说明:
权限列表,多个权限用逗号分开

grant select on …
grant select, delete, create on …
grant all [privileges] on … – 表示赋予该用户在该对象上的所有权限

*.*:代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
库.*:表示某个数据库中的所有数据对象(表,视图,存储过程等)
identified by可选,如果用户存在,赋予权限的同时修改密码,如果不存在就创建用户

–使用root账号 --终端A
mysql> show databases;
在这里插入图片描述

mysql> use test;
Database changed
mysql> show tables;
在这里插入图片描述

–给用户tmp赋予test数据库下所有文件的select权限
mysql> grant select on test.* to ‘tmp’@‘localhost’;
Query OK, 0 rows affected (0.01 sec)
–使用tmp账号
–终端B
mysql> show databases;
在这里插入图片描述

–暂停等root用户给tmp赋完权之后,在查看
mysql> show databases;
在这里插入图片描述

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
在这里插入图片描述

mysql> select * from account;
在这里插入图片描述

–没有删除权限
mysql> delete from account;
ERROR 1142 (42000): DELETE command denied to user ‘whb’@‘localhost’ for table ‘account’

备注:特定用户现有查看权限
mysql> show grants for ‘tmp’@‘%’;
在这里插入图片描述
mysql> show grants for ‘root’@‘%’;
在这里插入图片描述

注意:如果发现赋权限后,没有生效,执行如下指令:

flush privileges;

回收权限

语法:

revoke 权限列表 on 库.对象名 from ‘用户名’@‘登录位置’;

示例:

– 回收tmp对test数据库的所有权限 --root身份,终端A
mysql> revoke all on test.* from ‘tmp’@‘localhost’;

Query OK, 0 rows affected (0.00 sec) --tmp身份,终端B
mysql> show databases;
在这里插入图片描述

mysql> show databases;
在这里插入图片描述

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

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

相关文章

项目技巧三

目录 我们现在要实现一个接口功能 1.我们先书写sql语句 2.编写接口 3.书写业务逻辑 4.书写mapper 结果&#xff1a; 缺点&#xff1a;没有根据涨跌幅区间的大小来排序 1.yml文件 2.在value object包下映射这个yml文件 3.开启这个配置类进行映射&#xff0c;并把它交给s…

勒索攻击后快速恢复的八个关键步骤,如何避免被勒索攻击

勒索软件攻击依然是当今企业面临的最大安全威胁之一。根据德迅云安全收集的报告&#xff0c;59%的企业在2023年遭遇了勒索软件攻击&#xff0c;其中56%的受害者最终选择支付赎金以恢复数据。更为严重的是&#xff0c;63%的勒索金额达到或超过了100万美元&#xff0c;平均支付金…

RS232转RS485

1.232转485转换器 232转485转换器是RS-232与RS-485之间的双向接口的转换器&#xff0c;应用于主控机之间&#xff0c;主控机与单片机或外设之间构成点到点&#xff0c;点到多点远程多机通信网络&#xff0c;实现多机应答通信&#xff0c;广泛地应用于工业自动化控制系统&#x…

免费申请aws一年免费服务器使用教程

由于近期要测试一个公网项目&#xff0c;对比之下&#xff0c;选择了aws服务器&#xff0c;免费使用一年。 准备&#xff1a;一个visa信用卡即可&#xff0c;需要一个外网邮箱&#xff08;我这边使用的hotmail&#xff09; 注册的步骤不再赘述&#xff0c;切记几个点&#xff0…

windows 环境下安装OpenCV For Java

windows 环境下安装OpenCV For Java 进入官网下载对应安装包 opencv官网地址&#xff1a; https://opencv.org/releases/ source里面是官方的xml文件&#xff0c;包含人脸识别 windows下载下来是一个exe文件&#xff0c;里面包含项目需要的jar包 执行opencv-4.9.0-windows.ex…

被低估的SQL

SQL是现代数据库管理系统中不可或缺的一部分。尽管它的使用已十分普遍&#xff0c;但在数据处理领域&#xff0c;SQL的某些功能和潜力仍然被许多人低估。接下来&#xff0c;小编将与您一起&#xff0c;探讨SQL的一些被忽视的特性&#xff0c;揭示它在数据管理中的真正实力。 1.…

《深度学习》OpenCV轮廓检测 轮廓近似、模板匹配 解析及实现

一、轮廓近似 1、什么是轮廓近似 指对轮廓进行逼近或拟合&#xff0c;得到近似的轮廓。在图像处理中&#xff0c;轮廓表示了图像中物体的边界&#xff0c;因此轮廓近似可以用来描述和识别物体的形状。 2、参数解析 1&#xff09;用法 import cv2 approx cv2.approxPolyDP(cu…

Java SpringBoot构建助农平台,三步实现高效捐赠,2025届设计新思路!

✍✍计算机毕业编程指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java…

如何应对 Android 面试官 -> 内存如何进行优化?玩转 LeakCanary

前言 本章主要围绕内存相关的知识点讲解&#xff1b; 内存分配 在内存优化中&#xff0c;我们通常需要借助一些常用的 adb 命令&#xff0c;方便我们快速定位&#xff0c;下面是一些常用的 adb 命令总结 常用 adb 命令 adb shell getprop ro.product.model // 手机型号adb s…

HTTP“请求”和“响应”的报头及正文详解

目录 一、请求 "报头" (header) 二、请求 "正文" (body) 2.1 application/x-www-form-urlencoded 2.2 multipart/form-data 2.3 application/json 三、HTTP 响应状态码 四、响应 "报头" (header) 五、响应 "正文" (body) 5.1…

如何设置Word文档部分内容无法编辑?

工作中&#xff0c;我们可能会在word中制作一些请柬、表格之类的&#xff0c;有些文件内容不想要进行修改&#xff0c;为了防止他人随意修改内容。我们可以设置限制编辑&#xff0c;可以对一部分内容设置限制编辑&#xff0c;具体方法如下&#xff1a; 我们将需要将可以编辑的…

记录 PyQt6 / PySide 6 自定义边框窗口的 Bug 及可能可行的解决方案:窗口抖动和添加 DWM 环绕阴影的大致原理

前言&#xff1a; 本篇文章将要讨论我在前不久发表的关于 PyQt6 / PySide6 自定义边框窗口代码及内容中的问题&#xff1a; &#xff08;终&#xff09;PyQt6 / PySide 6 Pywin32 自定义标题栏窗口 完全还原 Windows 原生窗口边框特效_pyside6 win32 无边框窗口-CSDN博客ht…

【C++11(一)之入门基础)】

文章目录 C简介统一的列表初始化&#xff5b;&#xff5d;初始化 std::initializer_liststd::initializer_list是什么类型&#xff1a;std::initializer_list使用场景&#xff1a; 声明autodecltypenullptr STL中一些变化 C简介 在2003年C标准委员会曾经提交了一份技术勘误表(…

报告 | 以消费者为中心,消费品零售行业数字化建设持续深化

​2024年是“消费促进年”&#xff0c;国内消费市场稳步复苏。在消费需求多样化、国家政策的推动下&#xff0c;“数字化转型”仍是消费品零售行业的年度主题词&#xff0c;是品牌方获取核心竞争力的必要途径。消费品零售行业的数字化转型重心有所调整&#xff0c;从线上渠道布…

ARM架构

一、内存分布结构 栈&#xff1a;局部变量 函数参数 函数返回地址 堆&#xff1a;程序员自己管理的内存区域&#xff0c;使用是需要动态申请&#xff0c;使用捷顺后需要释放 bss&#xff1a; 初始化为0和未初始化的全局及静态变量 data&#xff1a;初始化不为0全局及静态变量…

Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 创建一个指向 cv::CLAHE 类的智能指针并初始化它。 函数原型 Ptr<CLAHE> cv::createCLAHE (double clipLimit 40.0,Size tileGridSize…

JavaScript的BOM模型

一、浏览器环境概述(BOM) JavaScript 是浏览器的内置脚本语言&#xff0c;一旦网页内嵌了 JavaScript 脚本&#xff0c;浏览器加载网页&#xff0c;就会去执行脚本&#xff0c;从而达到操作浏览器的目的&#xff0c;实现网页的各种动态效果 二、script 元素工作原理 浏览器加…

网络编程 0903作业

作业 1、将TCP的CS模型再敲一遍 tcpserver.c #include <myhead.h> #define SERPORT 1111 #define SERIP "192.168.58.128" #define BACKLOG 40 int main(int argc, const char *argv[]) {int oldfd socket(AF_INET,SOCK_STREAM,0);//1、产生一个原始套接字…

pikachu文件包含漏洞靶场

File inclusion(local) 创建1.php 步骤一&#xff1a;选择一个球员提交 ../../../../1.php File Inclusion(remote)&#xff08;远程文件包含&#xff09; 步骤一&#xff1a;更改参数 php.ini ⾥有两个重要的参数 allow_url_fopen 、allow_url_include &#xff1b; 步骤二…

玩机进阶教程-----如何通过boot查看当前机型版本号 型号以及启动分区 提升保资料写固件成功率

在玩机过程中我们会遇到一些无法开机进系统的机型。而有需要其中的数据。如果简单的写入固件。可能会由于与当前机型版本不符或者版本差别太大的缘故而导致资料无法保存。如果当前机型有版本仿回滚机制。那么有可能误刷系统也会不开机。那么如何通过简单的操作来查看当前机型的…