SQL之用户管理——权限与用户

SQL之用户管理——权限与用户

目录

1. 用户相关

1.1 查看已存在用户的信息

1.2 创建新用户

1.3 删除用户

1.4 修改用户登入密码

2. 权限相关

2.1 给用户权限

2.2 回收权限

我们在MySQL的学习过程中一开始基本上都是使用root用户来进行各种操作的,但是其实这样是不好的,因为我们在以后工作的时候是不可能给你root用户来进行操作的,所以我们在这里要提前适应普通用户。

1. 用户相关

我们首先要学会查看用户的信息,再我看来这是第一步,接着我们在学会创建,销毁用户之类的操作。

1.1 查看已存在用户的信息

use mysql;
select host,user,authentication_string from user;

我们需要使用到上面两条指令来进行查看信息。

不知道各位有没有这个疑惑,就是我是查看用户信息又不是所有某一个数据库,为什么需要先use mysql呢?这是因为在mysql这个数据库系统里面,用户相关的各种信息也是存放在表里面的。

各位仔细看下面这张图片,这里面有三个用户,这三个用户都是系统自带的,分别是:

root@localhost:MySQL 的超级管理员用户,拥有最高权限(可以操作所有数据库、表、权限等),是我们日常管理数据库时常用的账号。mysql.session@localhost: MySQL 内部服务使用的用户,主要用于系统进程之间的通信(比如 MySQL 的插件、内部管理操作),不能手动登录使用。mysql.sys@localhost: MySQL 5.7 及以上版本新增的用户,用于管理系统视图(sys schema)(sys 库是 MySQL 提供的简化性能监控、运维管理的视图集合),同样是内部专用,不能手动登录。

字段解释:

host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆

user: 用户名

authentication_string: 用户密码通过password函数加密后的

*_priv: 用户拥有的权限

1.2 创建新用户

代码:

create user '用户名'@'登陆主机/ip' identified by '密码';

我们通过上面的代码就可以创建一个新用户。

在我们接下来的学习中我们创建新用户都是使用root账号来进行创建的,但是我们不可以误以为只有root账号可以创建新用户,有cheate user权限的普通用户也可以创建新用户,这个我们在后面会说到。

我们看下面这张图,这样我们就创建好一个用户。

PS:当我们使用root账号创建一个新用户的时候,这个新用户默认是没有权限的,也就是什么都做不了的,因为创建库和创建表以及select都是需要一定的权限的。

这边想要额外提一下,就是我们的那个登入主机的位置如果选的是localhost的话就是说这个账号只支持本地登入,也就是只有创建这个账号的这台设备可以登入这个用户。

如果是想要某一台设备可以登入的话,那么就在这个位置输入那台设备的ip。

如果是想要什么设备只要知道密码都可以登入的话,那么我们就在这个位置直接输入一个‘%’就可以了。

1.3 删除用户

代码:

drop user '用户名'@'主机名'

我们看,这样我们就可以把叫做‘1’的本地登入的用户给删除了。

这一步是不需要密码的,也就是不需要‘1’的密码,可以直接删除。

1.4 修改用户登入密码

这个的话又比较不同了,因为在这里可以分为用户自己修改密码和root用户来修改普通用户的密码。

用户自己修改密码:

set password=password('新的密码');

如果是普通用户自己修改密码的话,我们需要先登入那个账号。

root用户来修改密码:

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

root的话直接指定需要修改哪一个就好了。

2. 权限相关

首先我们需要知道什么叫做权限。在MySQL中什么都是需要权限的,无论是创建查看数据库数据表或者创建删除用户,这些都是需要相应的权限我们才可以做到的。

相关的权限:

一、全局权限(作用于所有数据库)

全局权限存储在mysql.user表中,授权时用ON *.*指定:

  • ALL PRIVILEGES:所有权限(除GRANT OPTION外的全部权限,加上WITH GRANT OPTION则包含授权权限)。
  • CREATE USER:创建 / 删除用户、修改用户密码。
  • DROP USER:删除用户。
  • SUPER:超级权限(如 kill 进程、修改全局变量、日志管理)。
  • SHOW DATABASES:查看所有数据库列表。
  • RELOAD:重新加载权限表、刷新日志等。
  • SHUTDOWN:关闭 MySQL 服务。
  • PROCESS:查看所有进程(SHOW PROCESSLIST)。
  • FILE:读写服务器本地文件(如LOAD DATA INFILE)。

二、数据库权限(作用于指定数据库)

数据库权限存储在mysql.db表中,授权时用ON 数据库名.*指定:

  • CREATE:创建新数据库或表。
  • DROP:删除数据库或表。
  • ALTER:修改表结构(如ALTER TABLE)。
  • INDEX:创建 / 删除索引。
  • INSERT:插入数据到表。
  • DELETE:删除表中数据。
  • UPDATE:更新表中数据。
  • SELECT:查询表中数据。
  • REFERENCES:创建外键约束。
  • CREATE TEMPORARY TABLES:创建临时表。
  • LOCK TABLES:锁定表(用于事务)。
  • EXECUTE:执行存储过程 / 函数。

三、表权限(作用于指定表)

表权限存储在mysql.tables_priv表中,授权时用ON 数据库名.表名指定:

  • SELECT/INSERT/UPDATE/DELETE(同数据库权限,但仅作用于单表)。
  • ALTER:修改该表结构。
  • INDEX:该表的索引操作。
  • CREATE VIEW:基于该表创建视图。
  • SHOW VIEW:查看该表的视图定义。
  • TRIGGER:创建 / 触发该表的触发器。

四、列权限(作用于表中指定列)

列权限存储在mysql.columns_priv表中,授权时需指定列(如ON 库.表 (列1,列2)):

  • 仅支持SELECT/INSERT/UPDATE(对指定列的操作权限)。

五、存储对象权限(作用于存储过程 / 函数 / 视图)

  • EXECUTE:执行指定存储过程 / 函数。
  • ALTER ROUTINE:修改 / 删除指定存储过程 / 函数。
  • CREATE ROUTINE:创建存储过程 / 函数。
  • CREATE VIEW/SHOW VIEW:视图的创建 / 查看权限。

2.1 给用户权限

代码:

GRANT ALTER ON *.* TO '用户名'@'登录位置';
grant all [privileges] on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
第一条代码的意思是授予一个用户修改所有表的权限。

第二个给指定用户授予 “指定库 / 对象” 的全部操作权限。

第三条是给一个用户关于某个库的权限。

identified by是可选, 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。

2.2 回收权限

我们可以给一个用户权限,同时也可以回收用户的权限。

代码:

revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

Read more

AI 概念大扒皮:从 LLM 到 Agent,一次说清楚

🤖 AI 概念大扒皮:从 LLM 到 Agent,一次说清楚 这些词你认识几个?不管认识多少,今天都给你扒个底朝天。所谓智能体,其实是由所有"不需要智能"的部分拼凑而成的;那些花里胡哨的新概念,大多不过是新瓶装旧酒。 涉及关键词:LLMPromptContextMemoryAgentRAGFunction CallingMCPSkillSub-Agent 💡 先清空大脑 忘掉你已知的一切,跟着故事线走——你会发现这些概念都是从同一个起点,一步步生长出来的。 🧠 第一步:语言模型长大了 一切混乱的起点,是这个古老的东西——语言模型。早期的小模型基本上是个智障,只会简单的文字接龙。但随着参数规模不断膨胀,在某个临界点,它突然"涌现"出了真正的智能。 为了和之前的小模型做区分,我们在前面加了个"大"字: 🆕 词汇① 大语言模型(LLM) LLM

By Ne0inhk
2026開年重磅uni-app+mphtml+deepseek安卓+小程序+H5流式ai聊天模板

2026開年重磅uni-app+mphtml+deepseek安卓+小程序+H5流式ai聊天模板

2026最新款跨三端ai流式对话系统uniapp-vue3-deepseek。 基于最新uni-app+vue3+uv-ui+markdown-it+mp-html接入deepseek api聊天大模型,搭建跨三端ai流式对话系统。提供浅色+深色主题、新增深度思考链、katex数学公式、代码复制/高亮、链接/图片预览,支持运行到web+小程序端+安卓端。 技术栈 * 编辑器:HbuilderX 4.87 * 技术框架:uni-app+vue3+pinia2+vite5 * 大模型框架:DeepSeek-V3.2 * 组件库:uni-ui+uv-ui * 高亮插件:highlight.js * markdown解析:ua-markdown+mp-html * 本地缓存:pinia-plugin-unistorage * 支持编译:Web+小程序+APP端 项目结构目录 使用最新uniapp+vue3搭建项目模板,

By Ne0inhk
Qwen3-Max深度解析:阿里最强 AI 大模型全面升级,性能领先,Just Scale it!

Qwen3-Max深度解析:阿里最强 AI 大模型全面升级,性能领先,Just Scale it!

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(ZEEKLOG)(一个喜欢古诗词和编程的Coder😊) 目录一、Qwen3-Max 是什么?为什么值得注意二、技术亮点(用通俗语言讲清楚)1. 参数与数据(一眼看懂)2. 架构上的两个关键点(为什么它能“更聪明”)3. 长上下文与效率优化三、性能一览(数据说话,表格更直观)1.Qwen3-Max-Instruct2.Qwen3-Max-Thinking (Heavy)四、开发者如何接入(超实用示例)1. 现在能用吗?2. 快速示例(Python,OpenAI 风格兼容)五、适合场景与注意点1. 很适合做的事(强项)2. 你需要留心的地方(风险与现实)六、

By Ne0inhk

AI漫剧怎么赚钱:教你用AI漫剧创作系统制作自己的动漫短剧使用云微AI短剧创作系统

好的,我们来详细讲解如何利用AI工具制作动漫短剧并实现盈利。以下是具体步骤和盈利模式: 一、AI漫剧制作核心流程 1. 角色与场景生成 * 使用文本描述生成角色原画,例如: 输入:赛博朋克少女,机械义眼,霓虹蓝发 输出:生成符合描述的角色设计 * 通过关键词生成场景:未来都市夜景,悬浮车流,全息广告牌 2. 剧本智能创作 3. 4. 动态合成 * 将静态图序列转化为动画 * 添加口型同步(输入文本自动匹配嘴型) * 生成基础动作库:行走,拔剑,施法 5. 后期优化 * AI配音:选择声线+情感参数 * 特效添加:粒子光效,场景震动 * 智能剪辑:自动匹配节奏点 输入故事大纲,AI自动扩充对话与分镜 示例指令: 主题:时空穿越悬疑 关键事件:主角发现怀表可回溯时间10分钟 冲突:反派组织追踪怀表

By Ne0inhk