当前位置: 首页 > news >正文

DCL 操作

文章目录

  • 1.新建用户
  • 2.删除用户
  • 3.用户授权
  • 4.撤销用户权限
  • 5.查看用户权限
  • 6.修改用户密码

1.新建用户

# 命令格式
CREATE USER [username]@[host] identified by [password];# 示例
CREATE USER lvlv@localhost identified by 'lvlv';
CREATE USER lvlv@192.168.1.1 identified by 'lvlv';
CREATE USER lvlv@"%" identified by 'lvlv';
CREATE USER lvlv@"%";

说明:
username – 你将创建的用户名;
host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%。
password – 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆MySQL服务器。

创建的用户用户信息存放于mysql.user数据表中。

2.删除用户

# 命令格式
DROP USER [username]@[host];# 示例
DROP USER lvlv@localhost;

说明:删除用户时,主机名要与创建用户时使用的主机名称相同。

3.用户授权

# 命令格式
GRANT [privileges] ON [databasename].[tablename] TO [username]@[host];# 示例
GRANT select ON *.* TO lvlv@'%';
GRANT ALL ON *.* TO lvlv@'%';# 最后不要忘了刷新权限
flush privileges;

privileges – 是一个用逗号分隔的赋予 MySQL 用户的权限列表,如 SELECT , INSERT , UPDATE 等(详细列表见该文末附录1)。如果要授予所有的权限则使用 ALL;databasename – 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*。

使用 GRANT 为用户授权时,如果指定的用户不存在,则会新建该用户并授权。设置允许用户远程访问 MySQL 服务器时,一般使用该命令,并指定密码。

GRANT SELECT ON *.* TO lvlv@'%' identified by '123456';

4.撤销用户权限

# 命令格式
REVOKE [privileges] ON [databasename].[tablename] FROM [username]@[host];# 示例
REVOKE SELECT ON *.* FROM lvlv@'%';
REVOKE ALL ON *.* FROM 'lvlv'@'%';

privilege, databasename, tablename – 同授权部分。

假如你在给用户'pig'@'%'授权的时候是这样的(或类似 的):GRANT SELECT ON test.user TO 'pig'@'%’, 则在使用 REVOKE SELECT ON *.* FROM ‘pig’@'%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%’;REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的select权限。

具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看。

5.查看用户权限

方法一:可以从 mysql.user 表中查看所有用户信息,包括用户的权限。

SELECT * FROM mysql.user WHERE user='username' \G

方法二:查看给用户的授权信息。

# 命令格式
show grants for [username]@[host];# 示例
show grants for lvlv@localhost;
show grants for lvlv;

说明:不指定主机名称,默认为任意主机"%"。

6.修改用户密码

方法一:使用SQL语句。

# 命令格式:
SET PASSWORD FOR [username]@[host]= PASSWORD([newpassword]);# 示例
SET PASSWORD FOR lvlv@localhost=PASSWORD('123456');

如果是当前登录用户:

SET PASSWORD = PASSWORD("newpassword");

方法二:使用服务端工具mysqladmin来修改用户密码。

# 命令格式
mysqladmin -u[username] -p[oldpassword] password [newpassword]# 示例
mysqladmin -ulvlv -p123456 password "123321"
http://www.lryc.cn/news/108017.html

相关文章:

  • C++11移动构造函数详解
  • 【力扣】19. 删除链表的倒数第 N 个结点 <链表指针、快慢指针>
  • Vue3和typeScript路由传参
  • SQLserver数据库巡检脚本
  • Go Ethereum源码学习笔记 001 Geth Start
  • idea如何加快创建Maven项目的速度
  • 软件外包开发的GO开发框架
  • oracle会话打满
  • VSCode自定义闪烁光标
  • 复亚智能打造全新云平台:让无人机任务管理更智能、更简单
  • 编程导航第六关——白银挑战
  • 743. 网络延迟时间
  • Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-manager、kube-scheduler
  • 在CSDN学Golang场景化解决方案(微服务架构设计)
  • centos7 yum安装mysql5.7
  • 安防视频汇聚平台EasyCVR视频广场面包屑侧边栏支持拖拽操作
  • 爬虫007_python中的输出以及格式化输出_以及输入---python工作笔记025
  • 485modbus转profinet网关连三菱变频器modbus通讯触摸屏监控
  • 话费充值接口文档
  • windows系统的IP、路由、网关、内外网同时访问路由以及修改系统文件hosts的配置
  • Kubespray-offline v2.21.0-1 下载 Kubespray v2.22.1 离线部署 kubernetes v1.25.6
  • 代码随想录训练营Day59单调栈Part01|739. 每日温度|496.下一个更大元素①
  • RPMsg-Lite上手
  • 基于YOLOv8 的 多边形区域内目标检测,跟踪,计数
  • STSP中用于记录节点和旅行回路的四种数据结构
  • 【Spring】AOP切点表达式
  • 设计模式再探——代理模式
  • MySQL日志——查询日志
  • Java版本工程行业管理系统源码-专业的工程管理软件-提供一站式服务 em
  • pytorch的CrossEntropyLoss交叉熵损失函数默认是平均值