MySQL数据库——日志、备份与恢复

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

数据传输、数据存储、数据交换、软件故障、硬盘坏道等情况容易产生数据故障。如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。没有数据库的备份,就没有数据库的恢复,企业应当把企业数据备份的工作列为一项不可忽视的系统工作,为其选择相应的备份设备和技术,进行经济可靠的数据备份,从而避免损失。


一、日志管理

(一)、数据的重要性

1、备份的主要目的是灾难恢复
2、在企业中,数据的安全性至关重要
3、任何数据的丢失都可能产生严重的后果

(二)、造成数据丢失的原因

1、程序错误
2、人为操作错误
3、运算错误
4、磁盘故障
5、灾难 (如火灾、地震) 和盗窃

(三)、日志分类

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

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

2、回滚日志(undo)

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

3、错误日志(errorlog)

作用:用来记录当MySQL启动、停止或运行时发生的错误信息,默认开启

log-error=/usr/local/mysql/data/mysql_error.log

4、慢查询日志(slow query log)

作用:用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的

slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5 单位时间为s,缺省时为10s

慢查询日志也可用来查询哪些搜索的字段超时,可以选择是否需要增加索引,加快查询速度

5、二进制日志(bin log)

作用:用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启

log_bin=mysql-bin
或 log-bin=mysql-bin

6、中继日志(relay log)

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

7、普通日志(general log)

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

(四)、配置文件

vim /etc/my.cnf

#错误日志
log-error=/usr/local/mysql/data/mysql_error.log

#通用查询日志
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log

#二进制日志
log-bin=mysql-bin

#慢查询日志
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5
配置文件添加完后需要重启MySQL
systemctl restart mysql

在这里插入图片描述

在这里插入图片描述

1、怎么样看日志功能是否开启

show variables like 'general%';    #查询通用日志是否开启
show variables like 'log_bin%';    #查询二进制日志是否开启
show variables like '%slow%';     #查询慢查询日志功能是否开启
show variables like 'long%';        #查询慢查询日志超时时间
set global slow_query_log=ON;  #在数据库中设置开启慢查询的方法

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

xxx% 以xxx为开头的字段
%xxx 以xxx为结尾的字段
%xxx% 只要出现xxx字段的都会显示出来
xxx 精准查询

在这里插入图片描述

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

在这里插入图片描述

二、数据库备份的分类

(一)、物理备份

  • 数据库备份可以分为**物理备份逻辑备份**。

  • 物理备份是对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。这种类型的备份适用于在出现问题的时候需要快速恢复的大型重要数据库。

  • 物理备份又可以成为冷备份脱机备份)、热备份连接备份)和**温备份**

热备份(脱机备份) :是在关闭数据库的时候进行的(tar)
热备份 (联机备份) :数据库处于运行状态,依赖于数据库的日志文件(mysqlhotcopy mysqlbackup)
温备份 :数据库锁定表格(不可写入但可读)的状态下进行备份操作(mysqldump)

1、冷备份(脱机备份)

是在关闭数据库的时候进行的备份,可以直接(tar)当正常关闭时会提供给我们一个完整的数据库。对于备份Oracle信息而言,冷备份是最快和最安全的方法

2、冷备份的优点

# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值