当前位置: 首页 > news >正文

mysql 用户管理

目录

用户

创建用户

删除用户

修改密码

权限管理

赋权

查看权限

插销权限

总结


用户

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

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
31 rows in set (0.00 sec)
​

拿出来一个用户查看

mysql> select * from user\G
*************************** 1. row ***************************Host: localhostUser: rootSelect_priv: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: YDrop_priv: YReload_priv: YShutdown_priv: YProcess_priv: YFile_priv: YGrant_priv: YReferences_priv: YIndex_priv: YAlter_priv: YShow_db_priv: YSuper_priv: YCreate_tmp_table_priv: YLock_tables_priv: YExecute_priv: YRepl_slave_priv: YRepl_client_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: YCreate_user_priv: YEvent_priv: YTrigger_priv: Y
Create_tablespace_priv: Yssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0max_updates: 0max_connections: 0max_user_connections: 0plugin: mysql_native_passwordauthentication_string: *C76CBE83DA6FF179BA7913855C5DB371E756B93Cpassword_expired: Npassword_last_changed: 2023-05-22 17:48:27password_lifetime: NULLaccount_locked: N
​
  • HOST:主机

  • USER:用户

  • authentication_string:密码

  • *priv:权限

创建用户

create user 'user_name'@'登录主机/ip' identified by '密码';

案例

mysql> create user 'lxy'@'localhost' identified by '**********';
Query OK, 0 rows affected (0.00 sec)
​
mysql> select USER,HOST, authentication_string from user;
+---------------+-----------+-------------------------------------------+
| USER          | HOST      | authentication_string                     |
+---------------+-----------+-------------------------------------------+
| root          | localhost | *C76CBE83DA6FF179BA7913855C5DB371E756B93C |
| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys     | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| lxy           | localhost | *DF38BD36AAEA7091B73F02080EC9C196049763E7 |
+---------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
  • localhost:表示本主机

  • %:表示任意主机

  • 还可以直接加 ip

删除用户

drop user '用户名'@'登录主机';

案例

mysql> drop user 'lxy'@'localhost';
Query OK, 0 rows affected (0.00 sec)
​
mysql> select USER,HOST, authentication_string from user;
+---------------+-----------+-------------------------------------------+
| USER          | HOST      | authentication_string                     |
+---------------+-----------+-------------------------------------------+
| root          | localhost | *C76CBE83DA6FF179BA7913855C5DB371E756B93C |
| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys     | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+---------------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)

删除成功了

修改密码

修改密码有两种

  • 自己修改

    set password=password('密码');

  • root修改

    set password for '用户名'@'登陆主机'=password('密码');

上面修改密码就不演示了

权限管理

数据库的权限列表

权限上下文
CREATECreate_priv数据库、表或索引
DROPDrop_priv数据库或表
GRANT OPTIONGrant_priv数据库、表或保存的程序
REFERENCESReferences_priv数据库或表
ALTERAlter_priv
DELETEDelete_priv
INDEXIndex_priv
INSERTInsert_priv
SELECTSelect_priv
UPDATEUpdate priv
CREATE VIEWCreate view_priv视图
SHOW VIEWShow_view_priv视图
ALTER ROUTINEAlter_routine_priv保存的程序
CREATE ROUTINEcreate_routine priv保存的程序
EXECUTEExecute priv保存的程序
FILEFile priv服务器主机上的文件访问
CREATE TEMPORARY TABLESCreate_tmp_table_priv服务器管理
LOCK TABLESLock_tables_priv服务器管理
CREATE USERcreate user_priv服务器管理
PROCESSProcess_priv服务器管理
RELOADReload priv服务器管理
REPLICATION CLIENTRepl_client_priv服务器管理
REPLICATION SLAVERepl slave priv服务器管理
SHOW DATABASESShow_db_priv服务器管理
SHUTDOWNShutdown priv服务器管理
SUPERSuper_priv服务器管理

赋权

grant 权限列表 on 数据库.表名 to '用户名'@'登陆主机' [identified by '密码']

虽然可以在赋权的时候设置密码,但是这里建议在创建用户的时候就把密码设置好

案例

mysql> grant select,insert on scott.* to 'lxy'@'%';
Query OK, 0 rows affected (0.00 sec)

查看权限

show grants for '用户名'@'登陆主机';

案例

mysql> show grants for 'lxy'@'%';
+------------------------------------------------+
| Grants for lxy@%                               |
+------------------------------------------------+
| GRANT USAGE ON *.* TO 'lxy'@'%'                |
| GRANT SELECT, INSERT ON `scott`.* TO 'lxy'@'%' |
+------------------------------------------------+
2 rows in set (0.00 sec)

这里查看到正是我们赋的权限

插销权限

revoke 权限列表 on 数据库.表名 from '用户名'@'登陆主机';

案例

mysql> revoke select on scott.* from 'lxy'@'%';
Query OK, 0 rows affected (0.00 sec)mysql> show grants for 'lxy'@'%';
+----------------------------------------+
| Grants for lxy@%                       |
+----------------------------------------+
| GRANT USAGE ON *.* TO 'lxy'@'%'        |
| GRANT INSERT ON `scott`.* TO 'lxy'@'%' |
+----------------------------------------+
2 rows in set (0.00 sec)

这里看到 select 就被回收了

  • 如果像赋所有权限,那么就是all

  • grant all on 数据库.表名 to '用户名'@'登陆主机';

  • 如果像给所有库那么就是 *,如果想给库中所有表那么也是 *

总结

  • 前面我们的所有操作不管是创建用户或者是删除用户,甚至是修改密码本质都是对mysql里面的 user 表操作
  • 所以我们前面学习过的 CURD 操作都可以直接使用到user 表这里
  • 但是并不建议这样做

相关文章:

mysql 用户管理

目录 用户 创建用户 删除用户 修改密码 权限管理 赋权 查看权限 插销权限 总结 用户 mysql 的用户都存在于系统数据库 mysql 的user 表中 mysql> show tables; --------------------------- | Tables_in_mysql | --------------------------- | column…...

pyinstaller打包exe运行闪退

这里写自定义目录标题 前言问题描述解决过程 前言 闪退原因可能有很多,这里记录下我遇到的问题,简单来说是dll调用错误导致的闪退,因为我的python用的是32位的,但是pyinstaller却是64位的,属于用conda的时候没注意。 …...

ARM 汇编基础知识

1.为什么学习汇编? 我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编,因为 Cortex-A 芯片一 上电 SP 指针还没初始化, C 环境还没准备好,所以肯定不能运行 C 代码,必须先用汇编语言设置好 C 环境…...

CRM 自动化如何改善销售和客户服务?

许多 B2B 和 B2C 公司都使用 CRM 系统来组织业务流程,使复杂的任务更容易完成。企业可以使用 CRM 自动化来自动化工作流程,让团队有更多的时间来执行高价值的任务,而不是陷于一堆琐碎事情中。 什么是CRM自动化? CRM 自动化是指 C…...

Bean 的六种作用域

目录 一、作用域是什么? 1、singleton(单例作用域) 2、prototype(原型作用域) 3、request(请求作用域) 4、session(回话作用域) 5、application(全局作用域&a…...

go语言--锁

锁的基础,go的锁是构建在原子操作和信号锁之上的 原子锁 原子包实现协程的对同一个数据的操作,可以实现原子操作,只能用于简单变量的简单操作,可以把多个操作变成一个操作 sema锁 也叫信号量锁/信号锁 核心是一个uint32值&#…...

再见,CSDN

从我2018年1月31日加入CSDN,到现在已经5年多的时间了。在这5年里,陆陆续续在CSDN上发布了很多论文阅读笔记、教程、技术文章等等,记录了我从大四到研究生再到工作这段时间的学习和成长轨迹。 我一直有备份个人资料的习惯,尤其是耗…...

MySQL总复习

目录 登录 显示数据库 创建数据库 删除数据库 使用数据库 创建表 添加数据表数据 查询表 添加数据表多条数据 查询表中某数据 增insert 删delete 改update 查select ​ where like ​编辑 范围查找 order by 聚合函数 count max min sum avg g…...

桌面平台层安全随手记录

声明 本文是学习桌面云安全技术要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 桌面平台层安全 桌面接入安全 用户标识 一般要求 本项要求包括: a) 系统应为用户提供唯一的身份标识,同时将用户的身份标识与该用户的所…...

【Docker】 08-Dockerfile

什么是Dockerfile Dockerfile可以认为是Docker镜像的描述文件,是由一系列命令和参数构成的教程,主要作用是用来构建docker镜像的构建文件。 Dockerfile解析过程 Dockerfile的保留命令 保留字作用FROM当前镜像是基于哪个镜像的 第一个指令必须是FROMMA…...

【二等奖方案】大规模金融图数据中异常风险行为模式挖掘赛题「Aries」解题思路

第十届CCF大数据与计算智能大赛(2022 CCF BDCI)已圆满结束,大赛官方竞赛平台DataFountain(简称DF平台)正在陆续释出各赛题获奖队伍的方案思路,欢迎广大数据科学家交流讨论。 本方案为【大规模金融图数据中…...

Github 下载指定文件夹(git sparse-checkout)

比如要下载这里的 data_utils 步骤 1、新建空文件夹,并进入新建的空文件夹。 2、git init 初始化 3、git remote add origin 添加远程仓库 4、git config core.sparsecheckout true 允许稀疏检出 5、git sparse-checkout set 设置需要拉取的文件夹(可…...

蚂蚁集团SQLess 开源,与内部版有何区别?

当我们使用关系型数据库时,SQL 是联系起用户和数据库的一座桥梁。 SQL 是一种高度非过程化的语言,当我们在编写SQL 时,表达的是想要什么数据,而不是怎么获取数据。因此,我们往往更关心SQL 有没有满足业务逻辑&#xff…...

An Efficient Memory-Augmented Transformer for Knowledge-Intensive NLP Tasks

本文是LLM系列文章,针对《An Efficient Memory-Augmented Transformer for Knowledge 一种用于知识密集型NLP任务的高效内存增强转换器 摘要1 引言2 相关工作3 高效内存增强Transformer4 EMAT的训练流程5 实验6 分析7 结论局限性 摘要 获取外部知识对于许多自然语言…...

Java项目中jar war pom包的区别

1、pom&#xff1a;用在父级工程或聚合工程中&#xff0c;用来做jar包的版本控制&#xff0c;必须指明这个聚合工程的打包方式为pom。 <project ...> <modelVersion>4.0.0</modelVersion> <groupId>com.wong.tech</groupId> <artifactI…...

整理mongodb文档:分页

个人博客 整理mongodb文档:分页 个人博客&#xff0c;求关注&#xff0c;如果文章不够清晰&#xff0c;麻烦指出。 文章概叙 本文主要讲下在聚合以及crud的find方法中如何使用limit还有skip进行排序。 分页的情况很经常出现&#xff0c;这也是这篇博客诞生的理由。 数据准备…...

社区团购新玩法,生鲜蔬菜配货发货小程序商城

在当前的电商市场中&#xff0c;生鲜市场具有巨大的潜力和发展空间。为了满足消费者的需求&#xff0c;许多生鲜店正在寻找创新的方法来提高销售和客户满意度。其中&#xff0c;制作一个个性且功能强大的生鲜小程序商城是一个非常有效的策略。以下是在乔拓云平台上制作生鲜小程…...

shell bash中设置命令set

1 Preface/Foreword set命令用于shell脚本在执行命令时候&#xff0c;遇到异常的处理机制。 2 Usage 2.1 set -e 当执行命令过程中遇到异常&#xff0c;那么就退出脚本&#xff0c;不会往下执行其它命令。 #!/bin/bash #set -eroot GIT_TAG${CI_BUILD_TAG-NOTAG} GIT_REV…...

机器学习---预剪枝、后剪枝(REP、CCP、PEP、)

1. 为什么要进行剪枝 横轴表示在决策树创建过程中树的结点总数&#xff0c;纵轴表示决策树的预测精度。 实线显示的是决策树 在训练集上的精度&#xff0c;虚线显示的则是在⼀个独⽴的测试集上测量出来的精度。 随着树的增⻓&#xff0c;在 训练样集上的精度是单调上升的&…...

Python 爬虫—scrapy

scrapy用于从网站中提取所需数据的开源协作框架。以一种快速、简单但可扩展的方式。 该爬虫框架适合于那种静态页面&#xff0c; js 加载的话&#xff0c;如果你无法模拟它的 API 请求&#xff0c;可能就需要使用 selenium 这种使用无头浏览器的方式来完成你的需求了 入门 imp…...

GitHub Actions缓存终极升级指南:从v3到v5的平滑迁移路径

GitHub Actions缓存终极升级指南&#xff1a;从v3到v5的平滑迁移路径 【免费下载链接】cache Cache dependencies and build outputs in GitHub Actions 项目地址: https://gitcode.com/gh_mirrors/cach/cache GitHub Actions缓存是加速CI/CD工作流程的关键工具&#xf…...

[开源]玄武门之变的多变量数学建模与C++模拟系统——从历史事件到量化分析

引言 公元626年7月2日&#xff0c;唐朝长安城玄武门发生了一场改变中国历史进程的流血政变。秦王李世民伏击太子李建成、齐王李元吉&#xff0c;最终登基为唐太宗&#xff0c;开创了贞观之治。这场“玄武门之变”涉及军事对抗、政治博弈、个人能力、时机把握等诸多复杂因素&am…...

Pixel Language Portal 企业级 Java 应用开发:整合 JDK 1.8 与 SpringBoot 的最佳实践

Pixel Language Portal 企业级 Java 应用开发&#xff1a;整合 JDK 1.8 与 SpringBoot 的最佳实践 1. 引言&#xff1a;企业级AI集成的挑战与机遇 在数字化转型浪潮中&#xff0c;企业级Java应用正面临智能化升级的关键时刻。许多企业由于历史原因仍在使用JDK 1.8运行核心业务…...

OpenClaw自动化效率对比:Qwen3.5-9B-AWQ-4bit与GPT-4V多模态任务实测

OpenClaw自动化效率对比&#xff1a;Qwen3.5-9B-AWQ-4bit与GPT-4V多模态任务实测 1. 测试背景与实验设计 去年冬天&#xff0c;我在整理家庭相册时萌生了一个想法&#xff1a;能否用AI自动识别照片内容并生成描述&#xff1f;这促使我开始探索OpenClaw与多模态模型的结合。经…...

SI4463射频项目实战:我是如何用WDS3配置工具搞定868MHz双向通信的

SI4463射频项目实战&#xff1a;从WDS3配置到868MHz双向通信的完整实现 在物联网设备开发中&#xff0c;稳定可靠的无线通信是实现设备互联的关键。SI4463作为Silicon Labs推出的一款高性能Sub-GHz射频芯片&#xff0c;凭借其低功耗、高灵敏度和灵活的配置选项&#xff0c;成为…...

Course17:SGLang 深度优化:Radix 缓存与复杂任务的极致吞吐

SGLang vs vLLMvLLM 的高并发原理&#xff1a;PagedAttention&#xff08;解决 KV Cache 碎片&#xff09;Continuous Batching&#xff08;解决 GPU 空闲&#xff09;推测解码&#xff08;加速 Decode 阶段&#xff09;> vLLM 解决的是 如何让模型跑得快 的问题。Thinking&…...

Swin2SR在AR/VR中的应用:3D素材高清化处理

Swin2SR在AR/VR中的应用&#xff1a;3D素材高清化处理 1. 引言 在增强现实和虚拟现实的世界里&#xff0c;视觉体验就是一切。当你戴上AR眼镜或VR头盔&#xff0c;看到的每一个细节都直接影响着沉浸感的真实性。但现实往往很骨感——很多3D素材因为历史原因或技术限制&#x…...

如何在 React 中正确绑定 onClick 事件以避免类型错误

React 中 onClick 期望接收一个函数&#xff0c;若传入字符串或直接执行表达式&#xff08;如 window.href...&#xff09;会导致“Expected onclick listener to be a function”报错&#xff1b;正确做法是使用箭头函数包裹逻辑。 react 中 onclick 期望接收一个函数&am…...

STM32CubeIDE(CUBE-MX HAL库)实战:串口通信从阻塞到DMA的进阶应用

1. 从零开始&#xff1a;STM32CubeIDE与CUBE-MX的串口通信基础 第一次接触STM32的串口通信时&#xff0c;我像大多数初学者一样被各种专业术语搞得晕头转向。直到发现STM32CubeIDE配合CUBE-MX这个可视化配置工具&#xff0c;才真正体会到什么叫"开发效率翻倍"。这里分…...

seo关键词买量报价是多少_seo关键词推广报价是多少

SEO关键词买量报价是多少_SEO关键词推广报价是多少 在当前的数字营销环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为企业提升网站流量和品牌知名度的重要手段。其中&#xff0c;关键词买量报价和关键词推广报价是两个关键概念&#xff0c;对于企业进行SE…...