MySQL的日志和备份及恢复

目录

备份

        为什么要备份

          备份类型

                备份方式

MySQL的日志及作用

                配置文件

实站操作

        冷备份

        mysqldump 备份与恢复

                完全备份与恢复

                增量备份及恢复

        断点恢复

                基于位置恢复

                基于时间点


备份

        为什么要备份

        在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为

灾难:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景

        所以, 为了在数据丢失之后能够恢复数据, 我们就需要定期的备份数据, 备份数据的策略要根据不同的应用场景进行定制, 大致有几个参考数值, 我们可以根据这些数值从而定制符合特定环境中的数据备份策略

1、能够容忍丢失多少数据

2、恢复数据需要多长时间

3、需要恢复哪一些数据

          备份类型

备份类型分为:完全备份和部分备份

完全备份:就是备份整个数据集

部分备份:就是只备份数据子集,如部分库或表

部分备份还分为增量备份差异备份

增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复杂

差异备份:差异备份指的是备份自上一次完全备份以来变化的数据 浪费空间、还原比增量备份简单

                备份方式

        在MySQL中有三种备份方式

        冷、温、热备份

冷备:读、写操作均不可进行,数据库停止服务

温备:读操作可执行;但写操作不可执行

热备:读、写操作均可执行

 MyISAM:温备,不支持热备
 InnoDB:都支持
 
物理和逻辑备份
物理备份:直接复制数据文件进行备份,与存储引擎有关,占用较多的空间,速度快
逻辑备份:从数据库中“导出”数据另存而进行的备份,与存储引擎无关,占用空间少,速度慢,可能丢失精度

MySQL的日志及作用

MySQL日志默认保存位置为/usr/local/mysql/data 

1.redo 重做日志:达到事务一致性(每次重启会重做)

        作用:确保日志的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,达到事务一致性

2.undo 回滚日志

        作用:保证数据的原子性,记录事务发生之前的一个版本,用于回滚,innodb事务可重复读和读取已提交 隔离级别就是通过mvcc+undo实现

3.errorlog 错误日志

        作用:Mysql本身启动,停止,运行期间发生的错误信息

4.slow query log 慢查询日志

        作用:记录执行时间过长的sql,时间阈值(10s)可以配置,只记录执行成功 另一个作用:在于提醒优化

5.bin log 二进制日志

        作用:用于主从复制,实现主从同步 记录的内容是:数据库中执行的sql语句

6.relay log 中继日志

  作用:用于数据库主从同步,将主库发来的bin log保存在本地,然后从库进行回放

7.general log 普通日志

        作用:记录数据库的操作明细,默认关闭,开启后会降低数据库性能

                配置文件

[mysqld]
##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
log-error=/usr/local/mysql/data/mysql_error.log     #指定日志的保存位置和文件名

##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log

##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
log-bin=mysql-bin      

log_bin=mysql-bin

##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便提醒优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5        #设置超过5秒执行的语句被记录,缺省时为10秒

MySQL的日志和备份及恢复 

 在配置文件添加几种日志,回到数据库查看日志是否开启

查看通用查询日志是否开启

查看二进制日志是否开启

查看慢查询日功能是否开启

查看慢查询时间设置

在数据库中设置开启慢查询的方法 

variables 表示变量 like 表示模糊查询

二进制日志开启后,重启mysql 会在目录中查看到二进制日志 

MySQL的日志和备份及恢复

索引文件:记录更新语句
索引文件刷新方式:
1、重启mysql的时候会更新索引文件,用于记录新的更新语句
2、刷新二进制日志

mysql-bin.index:
二进制日志文件的索引

实站操作

        冷备份

 物理冷备份与恢复

        关闭MySQL服务

        安装xz软件包,我已经有了

        开始压缩备份

MySQL的日志和备份及恢复

 解压恢复

查看

来源:小柏ぁ

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月26日
下一篇 2021年10月26日

相关推荐