3、mysql的权限
我在学习mysql权限的时候发现一篇很不错的文档,大家可以去看看。
纸上得来终觉浅,绝知此事要躬行。
我们自己来操作试试:
首先连接mysql,我们先自己创建一个用户show。
USE mysql;
SELECT HOST,USER FROM USER;
(这个host指的是用户登录的地址,比如我们限制localhost意思只能在本机连接。)
CREATE USER 'show'@'localhost' IDENTIFIED BY '123456';
#用户名 #host #密码
SELECT HOST,USER FROM USER;
GRANT INSERT,DELETE,UPDATE,SELECT ON `testIndex`.`t1` TO 'show'@'localhost' WITH GRANT OPTION;
#赋予的权限(*代表所有) #数据库(*) #表名(*) #用户 #host #给其他用户赋权
FLUSH PRIVILEGES;
#刷新权限表
SHOW GRANTS FOR 'show'@'localhost';
#展示show用户的权限
REVOKE INSERT,DELETE ON `testIndex`.`t1` FROM 'show'@'localhost';
#权限(*代表所有) #数据库(*) #表名(*) #用户 #host
SHOW GRANTS FOR 'show'@'localhost';
#展示show用户权限
权限的操作很有意思,搭配其他的触发器等等可以实现很多精妙的操作,比如自动的白天给用户全部权限,晚上则收回所有权限,还有很多其他操作,大家可以学习一下。
4、mysql的备份
在实际的工作中,很多情况都会导致我们原有的数据被破坏或者丢失,比如硬件层面的服务器宕机等,人为层面的恶意攻击、误操作等,而为了防止我们原有的数据丢失,备份就很有必要的。
4.1、备份种类
- 完全备份:指备份整个数据集即整个数据库,操作很重量级,效率取决于工具及数据库大小
- 部分备份:指备份部分数据集即部分数据库,如只备份数据库中的一张表,我们平时基本都会采用这种方式备份。
- 增量备份:这个备份指备份从上一次备份(部分或者完全备份)以来的改变的数据,好处是空间占用不大,但是缺点是还原很麻烦。可以想象成一个链表,只有前一个结点还原之后才能还原下一个结点。
- 差异备份:指备份从上一次完全备份以来的变化的数据,好处是还原比增量备份简单,直接将变化的数据在上一次完全备份的数据基础上更新一次就行,但是缺点是浪费空间。
在一些企业中采用备份的方式如下:
这种方式采用了很少的空间实现了数据的备份,并且还原操作简单。
4.2、mysql备份方式
mysql中备份数据一般来说有三种:
- 热备份:指在数据库使用过程中进行备份数据,数据库的读写操作均不受影响,但是也正是因为如此,在备份期间如果数据的读写操作很频繁的话,可能就会导致备份的数据与数据库的数据不一致,并且不能出错,备份过程中出错后果很严重,且难以维护。
- 温备份:指在数据库的使用中限制一部分功能然后进行的数据备份,此时数据的读操作不受影响,但是数据的写操作将被限制。
- 冷备份:指在数据库停止的情况下进行的数据备份,此时数据库的读写操作都无法实现,数据库无法提供服务,但是也是备份最为安全的,不仅数据完全备份,而且如果磁盘空间有限而只能将数据拷贝到磁带或其他外部存储设备中时,速度很慢。
在mysql中,不同的引擎支持不同的备份方式,我们看一下常见的两种引擎:
引擎 | 热备份 | 温备份 | 冷备份 |
---|---|---|---|
MyISAM | × | √ | √ |
InnoDB | √ | √ | √ |
另外根据数据的备份方式又可以分为:
- 物理备份:指将数据库的数据打包以达到数据备份的效果。
- 逻辑备份:一般来说是通过特定的工具从数据库中导出数据并另存备份
4.3、数据备份操作
今天有点忙,以后接着更新,大家可以看一下我觉得写的不错的文档