mysql复习笔记06(小滴课堂)

mysql数据安全之备份的背景意义

mysql复习笔记06(小滴课堂)_第1张图片

介绍数据备份

mysql复习笔记06(小滴课堂)_第2张图片

mysql复习笔记06(小滴课堂)_第3张图片

mysql复习笔记06(小滴课堂)_第4张图片

mysql复习笔记06(小滴课堂)_第5张图片

mysql数据安全之mysqldump备份实例(跨机器)

mysql复习笔记06(小滴课堂)_第6张图片

一般存在于mysql的bin目录下。中小型企业,数据量不是特别大的时候可以使用这个方式备份。

mysql复习笔记06(小滴课堂)_第7张图片

可以看到备份过来的库了。这是备份单个数据库。

如果想备份库中的某个表:

在数据库后加上表名即可。

备份多个数据库:

在备份库的时候,如果我们不加--databases,我们只是备份的数据,而不是库的结构。

备份是否加选项是有区别的。

mysqldump还有很多参数,可以使用--help进行查看。

这种方式属于完全备份,如果是在本地备份,-h选项可以去掉。

我们解压出来看看里面是什么东西:

mysql复习笔记06(小滴课堂)_第8张图片

我们能看到很大sql语句,但是它并没有把创建库的那个语句带过来。

如果我们把库删了,使用这个备份的语句时,会报找不到库名。

这种方式属于逻辑备份。

mysql数据安全之mysql数据的恢复

备份全库:

删除库(只是为了学习,在公司里千万不要这样做,万一恢复不回来,事情就大了)

会报找不到库。

解决方式是,创建一个库。

在使用语句:

mysql复习笔记06(小滴课堂)_第9张图片

这样就可以了。

如果数据量大,这种方式非常耗费时间。

数据就回来了。

如果是之前说的加上了参数的--databases就不会出现这个问题了。

mysql复习笔记06(小滴课堂)_第10张图片

多库如何恢复

备份多库sql文件再同样方式执行即可。

mysql数据安全之物理备份

查找数据源文件路径:

mysql复习笔记06(小滴课堂)_第11张图片

如果直接把表复制粘贴的方式用来备份,对于MyIsAm表没有影响,但是对InnoDB表会有影响的。

创建两个数据库。

mysql复习笔记06(小滴课堂)_第12张图片

创建库会生成db.opt文件,主要存储着当前库的默认字符集和字符校验规则。

创建个InnoDB表:

mysql复习笔记06(小滴课堂)_第13张图片

创建MyISAM表:

mysql复习笔记06(小滴课堂)_第14张图片

mysql复习笔记06(小滴课堂)_第15张图片

mysql复习笔记06(小滴课堂)_第16张图片

拷贝MyIsAm表:

mysql复习笔记06(小滴课堂)_第17张图片

可以查到数据只是数据为空。

同样的方法拷贝InnoDB表:

需要备份一下三个文件,非常重要。

mysql复习笔记06(小滴课堂)_第18张图片

拷贝过来了。

原来的这个文件进行删除。

重启数据库:

mysql复习笔记06(小滴课堂)_第19张图片

重启以后这三个文件又回来了。

mysql复习笔记06(小滴课堂)_第20张图片

我们解压新的拷贝的库。

在库里能看到这个表,但是查询却报错表不存在。

mysql复习笔记06(小滴课堂)_第21张图片

我们在其它库查看其它表依旧报错表不存在。

我们可以看出来我们把这三个文件移走了是对mysql服务器整个innodb表的影响,不是单一的某一个库。

删除重启后生成的文件。

之前的文件拿回来。

所属组和所属用户都是root。

我们要去进行修改:

mysql复习笔记06(小滴课堂)_第22张图片

重启服务器。

mysql复习笔记06(小滴课堂)_第23张图片

然后就可以查询的到了。

所以建议在物理备份的时候一定要把mysql服务器先停止了。

如果备份一个正在运行着的服务,除了停mysql服务器还有另一种方式:

mysql复习笔记06(小滴课堂)_第24张图片

备份之后再解锁。

不过数据量大的话,这种方式很费时间。

生产中很少直接使用拷贝的方式物料备份,如果用这种方式一定要备份那三个文件。等备份好库和表后再使用备份的这三个文件。

mysql复习笔记06(小滴课堂)_第25张图片

mysql复习笔记06(小滴课堂)_第26张图片

需要在/etc/my.cnf下去配置:

创建个存放日志数据的目录,一定要赋予mysql权限。

mysql复习笔记06(小滴课堂)_第27张图片

文件名可以随便起,加上这两个配置。

修改了配置文件,我们就要重启Mysql服务器:

mysql复习笔记06(小滴课堂)_第28张图片

现在我们已经开启了这个二进制日志。

查看所有的binlog日志列表:

mysql复习笔记06(小滴课堂)_第29张图片

可以这样查看我们的二进制日志。

刷新二进制日志:

我们的二进制日志列表就会刷新。

重启服务也会更新出一个文件。

mysql复习笔记06(小滴课堂)_第30张图片

我们也可以删除二进制文件:

mysql复习笔记06(小滴课堂)_第31张图片

就会重新从1开始生成。

先进行一次备份:

-f为刷新二进制日志。

mysql复习笔记06(小滴课堂)_第32张图片

备份完毕。

我们的二进制日志就从2开始了。

我们现在添加一条数据:

mysql复习笔记06(小滴课堂)_第33张图片

我们这个操作会被二进制日志监视到。

我们的二进制文件使用cat或者more查看会乱码。

我们需要用Mysql命令去查看。

这个命令在我们的安装目录下:

mysql复习笔记06(小滴课堂)_第34张图片

和mysqldump是在一起的。

直接查看也是报错。

mysql复习笔记06(小滴课堂)_第35张图片

mysql复习笔记06(小滴课堂)_第36张图片

会看到很多信息。

mysql复习笔记06(小滴课堂)_第37张图片

注释掉配置文件中的内容。

当然这是二进制文件,我们也可以给它导成普通文件:

mysql复习笔记06(小滴课堂)_第38张图片

生成了普通文件,我们就可以用more来查看了:

mysql复习笔记06(小滴课堂)_第39张图片

那我们怎么来恢复数据呢?

我们恢复我们之前删除的表:

mysql复习笔记06(小滴课堂)_第40张图片

我们插入之前已经备份了表。

所以没有看到插入的数据,我们怎么进行恢复呢?

我们可以根据时间和位置来恢复数据:

我们查看忽略大小写完全匹配我们删除表的语句。

通过cat -n 我们可以查看我们是在第几行删除的这个表。

mysql复习笔记06(小滴课堂)_第41张图片

也可以通过sed命令查看具体行的命令。

我们可以恢复开始行到结束行的数据。

mysql复习笔记06(小滴课堂)_第42张图片

mysql复习笔记06(小滴课堂)_第43张图片

数据就可以恢复成功了。

你可能感兴趣的:(mysql,mysql)