编写顺序和执行顺序是不一样的

编写顺序:

SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数



DCL

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

查询mysql用户

use mysql; // 用户所具有的全部信息都是放在mysql这个数据库中的
select * from user;

创建用户-语法

create user '用户名'@'主机名' identified by '密码';

创建用户ituser, 只能够在当前主机localhost访问,密码123456

create user 'ituser'@'localhost' identified by '123456';
当前我们创建的这个数据库用户。
它只能访问mysql数据库,其他数据库没有访问的权限。

创建用户user,可以在任意主机访问数据库,密码123456

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

ps:% 任意主机

修改用户的密码-语法

alter use '用户名'@'主机名' identified with mysql_native_password by '新密码';

修改用户user的访问密码为123

alter use 'user'@'%' identified with mysql_native_password by '123'

删除用户密码-语法

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

注意:

·主机名可以使用%通配。
·这类SQL开发人员操作的比较少,主要是DBA ( Database Administrator数据库管理员)使用。

权限控制

查询用户有哪些权限

查询用户有哪些权限语法:  show grants for '用户名'@'主机名';

现在我们查询之前创建的 ituser 用户有哪些权限。
show grants for 'ituser'@'localhost';
出现:GRANT USAGE ON xxx表示只有连接权限

授予权限

grant 列表列表  on 数据库名.表名 to '用户名'@'主机名';

现在我们需要给ituser用户设置某一个数据库的所有权限
grant all on itdemo1.* to 'ituser'@'localhost';
出现 GRANT ALL PRIVILEGES 表示是所有的权限

撤销权限

revoke 列表列表 on 数据库名.表名 from '用户名'@'主机名';

现在我们要撤销 ituser用户 itdemo1数据库下所有表的所有权限,如下
revoke all on itdemo1.* from 'ituser'@'localhost';
撤销成功后,我们可以查询一下:
show grants for 'ituser'@'localhost';
出现:GRANT USAGE ON xxx 表示只有连接权限 ps:itdemo1.* 表示itdemo1数据库下的所有表

注意的是

·多个权限之间,使用逗号分隔
·授权时,数据库名和表名可以使用*进行通配,代表所有。

MySQL控制权限的更多相关文章

  1. Mysql用户权限控制(5.7以上版本)

    1.1. 最简单的MySql权限   最简单也是最高效的,如果解决新手们删库跑路的问题其实也是很简单的,对于正式库只给一个增删改查的权限,或者只给一个查询权限(是不是就解决了删库的可能性?) 使用Ro ...

  2. [MySQL]MySQL之权限管理

    一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接m ...

  3. 烂泥:nginx、php-fpm、mysql用户权限解析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ilanni.blog.51cto.com/526870/1561097 本文首发 ...

  4. MySQL之权限管理

    MySQL之权限管理 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作, 那么你就不能执行update操作.只 ...

  5. 【Mysql】权限管理

    mysql权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表. mysql权限表的验证过程为: 1.先从user表中的Host, ...

  6. MySQL服务器权限表

    MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化.这些权限表分别user,db,table_priv,columns_p ...

  7. (转)mysql账号权限密码设置方法

    原文:http://www.greensoftcode.net/techntxt/2013410134247568042483 mysql账号权限密码设置方法 我的mysql安装在c:\mysql 一 ...

  8. Mysql grant权限管理

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 [identified by '密码'] 最常用的,弄主从同步的时候,给从库的slave用户设置拥有所 ...

  9. 【转载】MySQL之权限管理

    一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接m ...

  10. MySQL数据库权限体系介绍

    本文主要向大家介绍了MySQL数据库权限体系,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 一.权限体系简介: MySQL的权限体系在实现上比较简单,相关权限信息主要存储在mys ...

随机推荐

  1. 鸿蒙轻内核M核源码分析:数据结构之任务排序链表

    摘要:鸿蒙轻内核的任务排序链表,用于任务延迟到期/超时唤醒等业务场景,是一个非常重要.非常基础的数据结构. 本文会继续给读者介绍鸿蒙轻内核源码中重要的数据结构:任务排序链表TaskSortLinkAt ...

  2. 带你了解WDR-GaussDB(DWS) 的性能监测报告

    摘要:通过本文,读者可知晓什么是WDR,如何创建性能数据快照以及生成WDR报告. 本文分享自华为云社区<WDR-GaussDB(DWS) 的性能监测报告>,作者:Zhang Jingyao ...

  3. 第三方测评:GaussDB(for Redis)稳定性与扩容表现

    摘要:本文将通过采用Redis Labs推出的多线程压测工具memtier_benchmark对比测试下GaussDB(for Redis) 和原生Redis的特性差异 本文分享自华为云社区<墨 ...

  4. 关于HTTPS认证,这里解决你所有疑惑

    摘要:从签发证书到数据加密交互,按流程的进展讲解HTTPS认证过程内容和原理. 本文分享自华为云社区<故事+图文,一次性解决你对HTTPS认证过程的所有疑惑>,作者:breakDraw. ...

  5. Pytest -初识

    Pytest Pytest是一个基于Python的测试框架,用于编写和执行测试代码. Pytest的优点 Pytest可以并行运行多个测试,这减少了测试套件的执行时间 Pytest有自己的方法来自动监 ...

  6. 机器学习的线性代数(Python 版)

    线性代数是数学的分支学科,涉及矢量.矩阵和线性变换.它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围. 虽然线性代数是机器学习领域不可或缺的一部分,但二者的紧密关 ...

  7. 只需 3 步,人人都能搭建自己的 chatgpt 微信机器人

    大家好,我是徐公,大厂 6 年经验,CSDN 博客专家.最近,ChatGpt 很火,身边的人都在讨论,会不会成为下一个风口,像前几年互联网一样,迎来井喷式的发展. 徐公我最近也是在密切关注,最近,在 ...

  8. WPF ElementHost 内存泄露问题

    无意中发现,WPF ElementHost 控件如果未正确释放,会存在内存泄露问题.解决方法如下: xaml代码: <Grid x:Name="grid"> <W ...

  9. JavaScript WebSocket C# SuperSocket.WebSocket 示例

    C# WebSocket 后端代码: using Newtonsoft.Json; using SuperSocket.WebSocket; using System; using System.Co ...

  10. 7、SpringBoot-mybatis-plus引入

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...