欢迎莅临 SUN WU GANG 的园子!!!

世上无难事,只畏有心人。有心之人,即立志之坚午也,志坚则不畏事之不成。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  470 随笔 :: 0 文章 :: 22 评论 :: 30万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

DCL:Data Control Language 数据控制语言,用于管理数据库该用户、控制数据库的访问权限。

  1. 查询用户
    • use mysql;  -- mysql,为系统数据库
    • select * from user;
  2. 创建用户
    • create user '用户名'@'主机名' identified by '密码'
  3. 修改用户密码
    • alter user '用户名'@'主机名' idengified with mysql_native_password by '新密码';
  4. 删除用户
    • drop user '用户名'@'主机名'

 注:

  1. 创建用户时,主机名可使用%通配,表示任意主机都可访问;
  2. 该操作一般多为DBA使用,开发人员较少使用;

示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- ----------------------------用户操作相关-----------------------------<br>use mysql;
select * from user;
-- show grants for 'root'@'%';
-- 创建用户
create user 'kun'@'192.168.1.110' identified by '1';
-- 如果想选择任意主机地址
-- create user '用户名'@'%' identified by '密码';
 
-- 修改用户密码
alter user 'kun'@'192.168.1.110' identified with mysql_native_password by '123';
  
-- 删除用户
drop user 'kun'@'192.168.1.110';
 
-- 选择任意主机地址
create user 'kun'@'%' identified by '1';
select * from user;

DCL 权限控制    

  1.  查询权限
    • show grants for '用户名'@'主机名';  
    • show grants for '用户名'@'%';   —— % 表示所有主机
  2. 授予权限
    • grant 授权列表 on 数据库名 表名 to   '用户名'@'主机名';  
    • 注,授权所有用户可使用--show grants for *.*
  3. 撤销权限
    • revoke 授权列表 on 数据库名 表名 from  '用户名'@'主机名';  ——撤销某个用户对某个数据库的某张表的权限

示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-- ----------------------------权限操作相关-----------------------------
-- 1.查询权限
show grants for 'kun'@'%';
-- 返回结果:GRANT USAGE ON *.* TO `kun`@`%`
 
-- 2.授予权限
grant all on rfautotest.remarkinfo to 'kun'@'%'-- 授予访问rfautotest.remarkinfo
show grants for 'kun'@'%'
/*
return
GRANT USAGE ON *.* TO `kun`@`%`
GRANT ALL PRIVILEGES ON `rfautotest`.`remarkinfo` TO `kun`@`%`
*/
 
grant all on rfautotest.* to 'kun'@'%'-- 授予访问rfautotest 数据库操作权限
show grants for 'kun'@'%'
/*
return
GRANT USAGE ON *.* TO `kun`@`%`
GRANT ALL PRIVILEGES ON `rfautotest`.* TO `kun`@`%`
GRANT ALL PRIVILEGES ON `rfautotest`.`remarkinfo` TO `kun`@`%`
*/
 
-- 3.撤销权限
-- revoke 授权列表 on 数据库名 表名 from  '用户名'@'主机名';
revoke all on rfautotest.remarkinfo from  'kun'@'%';
revoke all on rfautotest.* from  'kun'@'%';
-- revoke all on *.* from  'kun'@'%';   -- *.* 表示所有权限
show grants for 'kun'@'%'
-- 返回结果:GRANT USAGE ON *.* TO `kun`@`%`

 

posted on   sunwugang  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示