开发者学堂课程【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‘为例
给’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 是系统自带库。
aliyun2 在上面的操作中不能看见。
在 cloudsell1 操作:
输入 show databases;
可以看见 cloudsell1和cloudsell2 视图、数据库是不一样的。
在 cloudsell1 可以看见 aliyun、aliyun1,在 cloudsell2 就只能看见 aliyun。
在 cloudsell2 操作:输入 use aliyun; 进行操作。
查询 emp表:输入 select * from emp;
插入‘lisi' 数据:输入 insert into emp values('lisi',2);
查询 emp 表:输入 select * from emp;‘lisi' 已经被成功写入。
删除 emp 表:delete from emp;显示直接拒绝了,当前的用户’zs' 不具备denied 操作的权限。
insert 查询操作:输入 update emp set deptno=1 where ename='lisi'; 显示操作不成功,不具备插入的权限
三、使用新创建账号登录 MySQL
1.简单介绍
(1)新开一个云命令行窗口,使用 zs 的帐号来登录 RDS 实例。
(2)查看当前账号库、表权限。
(3)通过下图所示看到只有 itlead 库的 emp 表权限。
2.详细介绍
(1)创建 zs 数据库账号
打开账号管理,点击创建账号,
在数据库账号输入 zs,点击普通账号,密码可以只授权读的权限
密码也可以直接设定,全部填写完成之后,账号就设置完成了。
(3)账号创建完成之后怎么登录
在登录的时候可以重新进行切换,点击之后,填入创建好的账号,点击确认。点击之后,就会选择数据库。这里只能选择三个,其他的库是看不到的,因为这是一个普通的账号。选择阿里云。
查询 emp 表:输入 SELECT * FROM emp;
查询 dept 表:select * from dept;
输入 DELECT from dept;显示拒绝操作。
(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
输入 show databases;
输入 use aliyun;
show tables;
输入 select * from dept;
输入 select * from emp;
输入 delete * from dept; 显示执行不成功。
四、使用新创建账号执行 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 的账号,并且对这个账号进行对应的权限的管理。应用运命令行方式对这个账号进行对应的权限的管理。