MySQL控制权限

简介: MySQL控制权限

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

编写顺序:

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数据库下的所有表

注意的是

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

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
11月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
1160 7
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
3020 1
|
SQL NoSQL 关系型数据库
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。
379 4
|
安全 关系型数据库 MySQL
Navicat工具设置MySQL权限的操作指南
通过上述步骤,您可以使用Navicat有效地为MySQL数据库设置和管理用户权限,确保数据库的安全性和高效管理。这个过程简化了数据库权限管理,使其既直观又易于操作。
1834 4
|
关系型数据库 MySQL
MySQL 添加用户,分配权限
MySQL 添加用户,分配权限
317 0
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
NoSQL 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之连接RDS、Redis等数据库时,是否需要通过安全组来控制访问权限
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
安全 关系型数据库 MySQL
MySQL权限管理大揭秘:用户、组、权限解析
MySQL权限管理大揭秘:用户、组、权限解析
1417 0
|
关系型数据库 MySQL Linux
Linux下mysql添加用户并授权数据库权限
Linux下mysql添加用户并授权数据库权限

推荐镜像

更多