当前位置: 首页> 文旅> 文化 > 做网站的目标是什么_北京南站疫情最新情况_100条经典广告语_百度广告联盟官网

做网站的目标是什么_北京南站疫情最新情况_100条经典广告语_百度广告联盟官网

时间:2025/7/11 17:27:00来源:https://blog.csdn.net/weixin_64044840/article/details/143210793 浏览次数:1次
做网站的目标是什么_北京南站疫情最新情况_100条经典广告语_百度广告联盟官网

DCL(数据控制语言)

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

一、管理用户

1、查询用户

  • 在MySQL数据库管理系统中,mysql 是一个特殊的系统数据库名称,它并不是用户创建的普通数据库,而是MySQL安装时自动创建并包含一系列系统表和信息的数据库,它包含了MySQL服务器运行所需的系统表和元数据。
-- 这里的mysql是数据库名,是mysql自带的一个数据库名称,mysql下有一个user表,
-- user表存储了所有MySQL用户账户的信息,包括用户名、密码哈希、主机名、全局权限等
-- 但是不是所有用户都有权限查看这个user表的
select * from mysql.user;
  • 不是所有用户都有权限查看这个user表的,可以在root用户下执行该sql,root用户具有所有的权限。
    在这里插入图片描述
  • Host(主机名):指定了用户可以从哪个主机连接到 MySQL 服务器。
    • localhost 表示用户只能从本地机器连接。
    • 而 % 是一个通配符,表示用户可以从任何主机连接(这通常用于远程连接,但需要谨慎使用以避免安全风险)。
  • User(用户名):代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。

2、创建用户

  • 语法:
 CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
  • 实例:
-- 创建用户dadao, 只能够在当前主机localhost访问, 密码123456;
create user 'dadao'@'localhost' identified by '123456';-- 创建用户knife, 可以在任意主机访问该数据库, 密码123456;
create user 'knife'@'%' identified by '123456';

在这里插入图片描述
在这里插入图片描述

3、修改用户密码

  • 语法:
 ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;
  • 实例:
-- 修改用户dadao的访问密码为1234;alter user 'heima'@'%' identified with mysql_native_password by '1234';
  • 修改报错:
    在这里插入图片描述
  • 正确修改:

在这里插入图片描述

4、 删除用户

  • 语法:
 DROP USER '用户名'@'主机名' ;
  • 实例:
-- 删除 dadao@localhost 用户drop user 'dadao'@'localhost';

在这里插入图片描述

注意事项:

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

二、控制权限

  • mysql常用的权限(权限列表)
    在这里插入图片描述
  • 语法:
-- 查询权限SHOW GRANTS FOR '用户名'@'主机名' ;-- 授予权限GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';-- 撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
  1. 注意事项:
    • 多个权限之间,使用逗号分隔
    • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有
  • 实例:
-- 查询 'knife'@'%' 用户的权限show grants for 'knife'@'%';-- 授予 'knife'@'%' 用户company数据库所有表的所有操作权限grant all on company.* to 'knife'@'%';-- 撤销 'knife'@'%' 用户的company数据库的所有权限revoke all on company.* from 'knife'@'%';

1、查询权限

  • 语法:
-- 查询权限SHOW GRANTS FOR '用户名'@'主机名' ;
  • 实例:
-- 查询 'knife'@'%' 用户的权限show grants for 'knife'@'%';
  • 查询用户knife的权限
    在这里插入图片描述

  • GRANT USAGE ON . TO ‘knife’@'%'解释:

    • GRANT 是授予权限的 SQL 命令。
    • USAGE 是被授予的权限类型。(USAGE 是一种非常基础的权限,它实际上并不授予用户对数据库进行任何操作的能力
    • ON . 表示这个权限适用于所有数据库(第一个 *)和所有表(第二个 *)。
    • TO ‘knife’@‘%’ 指定了权限被授予的用户,这里的用户是 knife,@‘%’ 表示该用户可以从任何主机连接到 MySQL 服务器。
  • root用户的权限
    在这里插入图片描述

2、授予权限

  • 语法:
-- 授予权限GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
  • 实例:
 
-- 授予 'knife'@'%' 用户company数据库所有表的所有操作权限grant all on company.* to 'knife'@'%';
  • 授予knife用户company所有表的所有权限
    在这里插入图片描述
  • 再次查看knife的权限
    在这里插入图片描述

3、撤销权限

  • 语法:
-- 撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
  • 实例:
-- 撤销 'knife'@'%' 用户的company数据库的所有权限revoke all on company.* from 'knife'@'%';
  • 撤销knife对company数据额权限
    在这里插入图片描述
  • 再查看knife的权限
    在这里插入图片描述
关键字:做网站的目标是什么_北京南站疫情最新情况_100条经典广告语_百度广告联盟官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: