MySQL数据库 DCL

2023-12-17

目录

DCL概述

管理用户

权限控制


DCL概述

DCL英文全称是 Data Control Language (数据控制语言),用来管理数据库用户、控制数据库的访 问权限。

管理用户

(1) 查询用户

select * from mysql.user;
查询的结果如下:

其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以 远程访问的。 User代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。
(2) 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

(3) 修改用户密码

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

(4) 删除用户

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

注意事项:

  • 在MysQL中需要通过用户名@主机名的方式,来唯一标识一个用户。
  • 主机名可以使用%通配。
  • 这类SQL开发人员操作的比较少,主要是DBA ( Database Administrator数据库管理员)使用。

案例:创建用户itcast,只能够在当前主机localhost访问,密码123456;

create user 'itcast ' @ ' localhost' identified by '123456';

案例: 创建用户heima,可以在任意主机访问该数据库,密码123456;

create user ' heima ' @ ' % ' identified by '123456';

案例: 修改用户heima的访问密码为1234;

alter user 'heima ' @ '%' identified with mysql_native_password by '1234 ';

案例:删除itcast@localhost用户

drop user 'itcast'@ 'localhost ' ;

权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

(1) 查询权限

SHOW GRANTS FOR '用户名'@'主机名' ;

(2) 授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

(3) 撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
注意事项:
  • 多个权限之间,使用逗号分隔
  • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有。

案例:查询 'heima'@'%' 用户的权限

show grants for 'heima'@'%';

案例:授予 'heima'@'%' 用户itcast数据库所有表的所有操作权限

grant all on itcast.* to 'heima'@'%';

案例:撤销 'heima'@'%' 用户的itcast数据库的所有权限

revoke all on itcast.* from 'heima'@'%';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL数据库 DCL 的相关文章

  • 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

    我有这个 UPDATE MySQL 语句 效果很好 UPDATE table1 Inner Join table2 ON table2 id table1 gw id SET table1 field1 1 table1 field2 2
  • MySQL 服务器未启动

    当我做 mysql u root p并输入my password这就是我得到的 错误 2002 HY000 无法通过套接字 var run mysqld mysqld sock 连接到本地 MySQL 服务器 2 所以我输入 systemc
  • 单行的总和值?

    我有一个 MySQL 查询 它返回由一系列 1 和 0 组成的单行 它用于进度条指示器 我现在在代码中对它进行求和 但我尝试对查询中的值求和 并意识到我无法使用 SUM 因为它们有很多列 但只有一行 有没有办法可以在查询中自动求和 就像这样
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • MySQL 存储过程将值分配给 select 语句中的多个变量

    这是我的存储过程 我在为声明的变量赋值时遇到问题 当我执行它时 插入和更新命令工作正常 但声明变量的值保持为 0 但我在数据库中有一些价值 我怎样才能正确地做到这一点 BEGIN DECLARE PaidFee INT DEFAULT 0
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 当“修复表”查询在 mysql 中不起作用时该怎么办?

    我收到此错误 表的存储引擎不支持修复 当我尝试使用查询修复表时repair table tbl college master 表是 innodb 类型 但我不知道我收到此错误 See 手册 http dev mysql com doc re
  • 显示表 FULLTEXT 索引列

    我希望运行一个查询 该查询将返回表中全文索引的列列表 该表采用 MyISAM 格式 我将使用 php 来构建查询 理想情况下 我会运行查询 它会返回信息 以便我可以构造一个以逗号分隔的列字符串 例如 名 姓 电子邮箱 这在 MySQL 中可
  • Python:如何使用生成器来避免 sql 内存问题

    我有以下方法来访问 mysql 数据库 并且查询在服务器中执行 我无权更改有关增加内存的任何内容 我对生成器很陌生 并开始阅读更多有关它的内容 并认为我可以将其转换为使用生成器 def getUNames self globalUserQu
  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • Hibernate 对集合的查询过滤器

    我想执行以下查询 from Item i where i categoryItems catalogId catId 然而 这会产生以下异常 非法尝试取消引用集合 所以我用谷歌搜索 找到了这个 Hibernate 论坛帖子https for
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • 忽略重复条目并在 EF Core 中的 DbContext.SaveChanges() 上提交成功条目

    我有一个 ASP Net Core 2 2 Web API 在我的一个控制器操作中 我向 MySQL 数据库表添加了一堆行 我使用的是 Pomelo 例如 dbContext AddRange entities dbContext Save
  • 即使使用“autoReconnect=true”,MySql JDBC 也会超时[重复]

    这个问题在这里已经有答案了 有时 我的 Java Tomcat6 Debian Squeeze 应用程序无法与 MySql 服务器通信 Tomcat 应用程序位于前端服务器上 而 MySql 位于单独的 仅限 MySql 的机器上 一个典型
  • 映射 mysql 中同一个表的多个值

    您好 我必须使用另一个表中的值 id 获取文本值 表 1 包含值 ID 表 2 包含名称和值 ID 表 1 SEVERITY OCCURENCE DETECTABILITY 2 3 4 表 2 id name value 1 Very Hi
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤

随机推荐

  • 在Windows上通过cmake-gui及VS2019来 编译OpenCV-4.5.3源码

    文章目录 下载OpenCV 4 5 3源码 下载opencv contrib 4 5 3源码 打开cmake gui 选择生成器 通过 Visual Studio 2019 打开构建好的 sln工程文件 执行编译操作 执行安装操作
  • 屏幕超时休眠-Android13

    屏幕超时休眠 Android13 1 设置界面 1 2 属性值 1 2 1 默认值 1 2 2 最小值限制 1 3 属性值疑问 Settings System SCREEN OFF TIMEOUT 2 超时灭屏
  • OSG中几何体的绘制(一)

    本章主要介绍一些几何体的绘制方法 绘制几何体在场景中是非常常见的 也是最基本的 在很多应用程序中可以看到相当复杂的场景 但不管场景有多复杂 它们都是由少数几个基本的图形元素构建而成的 只要想想达芬奇那些伟大的作品也是由铅笔和画刷所完成的 读
  • xtcocotools 安装 mmcv

    目录 xtcocotools 2023测试成功 mmcv安装方法 xtcocotools 2023测试成功 pip install xtcocotools mmcv安装方法 pip install U openmim mim install
  • 星纵物联2024届秋招/校招内推信息/内推码

    公司名称 星纵物联 内推码 ESVMA3 内推来源 内推鸭小程序 官方招聘网站 厦门星纵物联招聘官网
  • yyy888

    8
  • MyBatis中的MapperScan的作用是干什么的?

    MapperScan 是 MyBatis Plus 提供的注解 它的作用是扫描指定包下的所有接口 将其注册成 MyBatis 的 Mapper 在 MyBatis Plus 中 它是用于替代原生 MyBatis 中 XML 配置文件中的
  • HarmonyOS(十四)——状态管理之@State装饰器(组件内状态)

    前言 在 初识状态管理 我们了解了状态管理的基本概念 以及管理组件拥有的状态有哪几种装饰器 今天我们就来认识一下第一种装饰器 State装饰器 组件内状态 概述 State装饰的变量 或称为状态变量 一旦变量拥有了状态属性 就和自定义组件的
  • LeetCode经典150题Golang版.121. 买卖股票的最佳时机

    题目 121 买卖股票的最佳时机 给定一个数组 prices 它的第 i 个元素 prices i 表示一支给定股票第 i 天的价格 你只能选择 某一天 买入这只股票 并选择在 未来的某一个不同的日子 卖出该股票 设计一个算法来计算你所能获
  • Node.js 工作线程与子进程:应该使用哪一个

    Node js 工作线程与子进程 应该使用哪一个 并行处理在计算密集型应用程序中起着至关重要的作用 例如 考虑一个确定给定数字是否为素数的应用程序 如果我们熟悉素数 我们就会知道必须从 1 遍历到该数的平方根才能确定它是否是素数 而这通常非
  • 优质全套Spring全套教程

    hello 我是小索奇 这里把Spring全套笔记分享出来哈 便于大家查看 一起加油 Spring 1 Spring简介 1 1 Spring概述 官网地址 Spring Home Spring 是最受欢迎的企业级 Java 应用程序开发框
  • 学习区分dB、dBm、dBuV、dBi

    dB 对于分贝的概念 很多朋友最早接触这个概念 是用 分贝 评估声音的大小 声音的大小用分贝 dB 表示 是一种对数单位 用来描述声音的强度或功率比例 如果P是我们需要测试的声压级或声功率级 P0是参考值 通常取为标准听觉阈限的声压级 X
  • 最强Pose模型RTMO开源 | 基于YOLO架构再设计,9MB+9ms性能完爆YOLO-Pose

    实时多人在图像中的姿态估计面临着在速度和精度之间实现平衡的重大挑战 尽管两阶段的上下文方法在图像中人数增加时会减慢速度 但现有的单阶段方法往往无法同时实现高精度和实时性能 本文介绍了RTMO 这是一个单阶段姿态估计框架 通过在YOLO架构中
  • 腾讯技术工程总结-主流消息队列你了解哪些?

    文章参考 腾讯技术工程 关于消息队列的知识总结 主流消息队列你了解哪些 消息队列的发展历程 2003 年至今有很多优秀的消息队列诞生 如 kafka 阿里自研的 rocketmq 以及后起之秀 pulsar 消息队列在刚出现所需要解决的问题
  • 时序预测 | Python实现CNN-LSTM电力需求预测

    时序预测 Python实现CNN LSTM电力需求预测 目录 时序预测 Python实现CNN LSTM电力需求预测 预测效果 基本描述 程序设计 参考资料
  • 优质全套SpringMVC教程

    三 SpringMVC 在SSM整合中 MyBatis担任的角色是持久层框架 它能帮我们访问数据库 操作数据库 Spring能利用它的两大核心IOC AOP整合框架 1 SpringMVC简介 1 1 什么是MVC MVC 是一种软件架构的
  • MySQL数据库 DML

    目录 DML概述 添加数据 修改数据 删除数据 DML概述 DML英文全称是Data Manipulation Language 数据操作语言 用来对数据库中表的数据记录进行增 删 改操作 添加数据 工NSERT 修改数据 UPDATE 删
  • 【毕设项目】视频人像背景替换器-抠出视频中人像到动态背景中去

    描述 环境 简而言之 使用人体语义分割实现抠图替换动态背景 首先毫无疑问就是环境配置 附上链接 开始使用 飞桨 源于产业实践的开源深度学习平台 paddlepaddle org cn https www paddlepaddle org c
  • 第二百一十回

    文章目录 1 概念介绍 2 实现方法 2 1 整体思路 2 2 具体步骤 3 代码与效果 3 1 示例代码 3 2 运行效果 4 内容总结
  • MySQL数据库 DCL

    目录 DCL概述 管理用户 权限控制 DCL概述 DCL英文全称是 Data Control Language 数据控制语言 用来管理数据库用户 控制数据库的访 问权限 管理用户 1 查询用户 select from mysql user