8.sql -DCL -用户管理

[复制链接]
查看: 915   回复: 0

250

主题

250

帖子

1389

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1389
2023-9-10 02:55:18   显示全部楼层   阅读模式  
1.jpg

dcl 数据控制语言 控制数据得访问权限,主要控制有哪些用户来访问我们得mysql服务器

一、decl 管理用户
1.查询用户
use mysql;
select * from user;
2.创建用户
create user '用户名'@'主机名' identified by '密码';


3. 修改用户密码
alter user  '用户名'@'主机名' identified  with mysql_native_password by '新密码'


4. 删除用户


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


例子
use mysql;
select * from user;

-- 创建一个用 谢凡 只能再当前主机localhost 访问,密码是123456;

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

-- 创建 itxiefan 可以再认识主机访问数据 密码123456

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

-- 修改 itxiefan密码为1234

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

-- 删除itxiefan这个用户

drop user 'itxiefan'@'%' ;
主机名可以用%进行统配
这类sql 管理用户对于开发人员操作比较少 主要是运维这块在使用


二、dcl 权限控制

1.简介
在MySQL中,DCL(Data Control Language)用于控制数据库的访问和权限。DCL包括以下几种权限类型:
  • all ,all privileges 所有权限
  • select 查询权限
  • insert插入数据
  • update 修改数据
  • delete 删除数据
  • alter修改表
  • drop 删除数据库/表/视图
  • greate 创建数据库/表

GRANT(授予权限):用于授予用户或角色对数据库的权限。GRANT语句用于将权限授予用户或角色,以允许他们执行特定的数据库操作。
REVOKE(撤销权限):用于撤销用户或角色对数据库的权限。REVOKE语句用于从用户或角色中移除权限,以限制他们对数据库的访问。
DENY(拒绝权限):用于拒绝用户或角色对数据库的权限。DENY语句用于防止用户或角色执行特定的数据库操作,即使他们拥有其他权限。
这些权限类型可以通过以下方式进行细化和控制:

数据库级别权限:允许用户或角色访问特定的数据库。
表级别权限:允许用户或角色访问特定的表。
列级别权限:允许用户或角色访问特定的列。
角色级别权限:允许用户或角色拥有其他用户或角色的权限。
全局权限:允许用户或角色执行特定的全局操作,例如创建或删除数据库。
使用DCL语句时,需要具有适当的权限才能执行相应的操作。例如,只有具有GRANT权限的用户才能授予其他用户权限。同样,只有具有REVOKE或DENY权限的用户才能撤销或拒绝其他用户的权限。

这些权限类型提供了灵活的权限管理机制,可以根据需要授予、撤销和拒绝用户对数据库的访问和操作。

2.语法

a.查询权限
show grants for '用户名'@'主机名'

b.授予全新啊
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'

c.撤销权限
revoke 权限列表 on  数据库名.表名 from '用户名'@'主机名'

例子
-- 赋予xiefan查询全权限
show grants for 'xiefan'@'localhost';

-- 授予权限test操作的所有权限

grant all on test.* to 'xiefan'@'localhost';

-- 撤销权限test操作的所有权限

revoke  all on test.* from 'xiefan'@'localhost';






回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司