MySQL 权限体系、账户的管理|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习 MySQL 权限体系、账户的管理

开发者学堂课程【MySQL 实操课程MySQL 权限体系、账户的管理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/717/detail/12809


MySQL 权限体系、账户的管理

 

目录

一、MySQL 权限系统包括两个阶段的认证

二、演示自主安装 MySQL 的服务

三、使用新创建账号登录 MySQL

四、使用新创建账号执行 MySQL

五、回顾章节内容

 

一、MySQL 权限系统包括两个阶段的认证

1.对连接的用户进行身份认证,合法的用户通过认证,不合法的用户拒绝连接。
2.对通过认证的合法用户赋予相应的权限,用户可以在这些权限范内对数据库做相应的操作。

3.注意: MySQL 是通过 IP 地址和用户名联合进行确认的,例如 MySQL 安装后默认创建的用户
root @ iocalhost 表示用户 root 只能从本地( localhost )进行连接可以通过认证,此用户从其他任何主机对数据库进行的连接都将被拒绝。
4.也就是说,同一个用户名,如果来自不同的 IP 地址, MySQL 将其视为不同的用户。

5.给账号名为 zs ,密码为123456的账号授权 test 数据库下 emp 表授权 select 和 insert 权限。

 

二、演示自主安装 MySQL 的服务

打开上节课的 cloudsell,授权阿里云

在 cloudsell1 操作:

输入 use aliyun;

show tables;

select * from emp;以’zhangsan‘为例

图片1.png 

给’zhangsan‘授权(select、insert的权限)

输入 grant select,insert on aliyun.emp to 'zs'@'localhost' identified by '123';(zs 是’zhangsan)

在 cloudsell2 操作:

使用 zhangsan 用户登录

输入 /usr/local/mysql/bin/mysql -usz -p (密码是123)

这里就显示的登录进来了。

输入 show databases;

这里只能看见两个库,一个是 aliyun,一个是 information_schema。information_schema 是系统自带库。

图片2.png 

aliyun2 在上面的操作中不能看见。

在 cloudsell1 操作:

输入 show databases;

可以看见 cloudsell1和cloudsell2 视图、数据库是不一样的。

在 cloudsell1 可以看见 aliyun、aliyun1,在 cloudsell2 就只能看见 aliyun。

图片3.png 

在 cloudsell2 操作:输入 use aliyun; 进行操作。

查询 emp表:输入 select * from emp;

插入‘lisi' 数据:输入 insert into emp values('lisi',2);

查询 emp 表:输入 select * from emp;‘lisi' 已经被成功写入。

图片4.png

删除 emp 表:delete from emp;显示直接拒绝了,当前的用户’zs' 不具备denied 操作的权限。

insert 查询操作:输入 update emp set deptno=1 where ename='lisi'; 显示操作不成功,不具备插入的权限

 

三、使用新创建账号登录 MySQL

1.简单介绍

(1)新开一个云命令行窗口,使用 zs 的帐号来登录 RDS 实例。

(2)查看当前账号库、表权限。

(3)通过下图所示看到只有 itlead 库的 emp 表权限。

图片5.png

2.详细介绍

(1)创建 zs 数据库账号

打开账号管理,点击创建账号,

在数据库账号输入 zs,点击普通账号,密码可以只授权读的权限

密码也可以直接设定,全部填写完成之后,账号就设置完成了。

(3)账号创建完成之后怎么登录

在登录的时候可以重新进行切换,点击之后,填入创建好的账号,点击确认。点击之后,就会选择数据库。这里只能选择三个,其他的库是看不到的,因为这是一个普通的账号。选择阿里云。

图片6.png

查询 emp 表:输入 SELECT * FROM emp;

图片7.png 

查询 dept 表:select * from dept;

图片8.png

输入 DELECT from dept;显示拒绝操作。

图片9.png

(4)RDS For MySQL 授权

可以直接通过可视化的管理平台进行配置,点击修改权限,就可以进行选择仅DDL、只读等操作,RDS For MySQL 没有具体的表

(5)在 Cloud shell 连接 RDS

复制内网地址

输入/usr/local/mysql/bin/mysql -hrm-wz9c2e2q42u426f3z.mysql.rds.aliyuncs,com -uzs -p

图片10.png

输入 show databases;

图片11.png 

输入 use aliyun;

show tables;

图片12.png 

输入 select * from dept;

图片13.png 

输入 select * from emp;

图片14.png 

输入 delete * from dept; 显示执行不成功。

图片15.png

 

四、使用新创建账号执行 MySQL

1.新开一个云命令行窗口,使用 zs 的帐号来登录 RDS 实例。

2.查询 emp 表,可以成功执行。

3.插入 emp 表数据,可以成功插入。

4.删除 emp 表数据,删除失败,并提示用户没有权限。

 

五、回顾章节内容

分为三个小结

1.MySQL 存储引擎与分类

讲解了 MySQL 的两种存储引擎:MyISAM、InnoDB。MySQL 的数据库已经开始在使用 InnoDB 存储引擎,在 MySQL8.0 彻底不支持 MyISAM 存储引擎了,尤其是 RDS For MySQL 已经开始全面支持 InnoDB 存储引擎。

2.MySQL 创建不同存储引擎库、表

主要讲解了两种不同的存储引擎在创建库、表的情况,分别单独创建两种不同存储引擎的表。因为存储引擎主要是针对表,它们在物理文件的一个差别。

MyISAM 存储引擎是将 mid 数据文件、索引文件完全分开;InnoDB 存储引擎,它默认的是采用共享表空间的方式,就是所有文件、数据文件都是存在 ibdata 文件里面。

也可以配置指定每个表独立的创建文件(已经演示了),还演示了怎么样去修改MySQL 默认的存储引擎:通过客户端、也可以在参数里面去配置,在 MySQL 服务重启之后会生效。

3.MySQL 权限体系、账户的管理

对MySQL 权限体系做了背景介绍。对 MySQL 数据库进行认证和授权,也结合之前的课程讲解 MySQL 体系架构里面进行结合的讲解。怎么样去创建 MySQL 的账号,并且对这个账号进行对应的权限的管理,给它授予指定库、表的权限。以阿里云的 RDS For MySQL 云数据库场景讲解怎么样通过可视化模的方式创建 MySQL 的账号,并且对这个账号进行对应的权限的管理。应用运命令行方式对这个账号进行对应的权限的管理。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
134 6
|
2月前
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
68 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
2月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
75 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
1月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
112 1
|
1月前
|
SQL NoSQL 关系型数据库
|
2月前
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
69 1
|
6月前
|
SQL Oracle 关系型数据库
MySQL学习笔记
MySQL学习笔记
41 0
|
3月前
|
安全 关系型数据库 MySQL
Navicat工具设置MySQL权限的操作指南
通过上述步骤,您可以使用Navicat有效地为MySQL数据库设置和管理用户权限,确保数据库的安全性和高效管理。这个过程简化了数据库权限管理,使其既直观又易于操作。
418 4
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)