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

Mysql常用日志

概述

  1. 日志文件在数据库进行备份和恢复时起到了很重要的作用
  2. 常用的日志文件默认保存在mysql的工作目录下的data目录(/usr/local/mysql/data)目录下
  3. 可在/etc/my.cnf配置文件中的 [mysqld] 中进行日志的路径配置
错误日志
1.用于记录 mysql 启动、停止或运行时产生的错误信息
2.可通过一下字段进行更新: 
log-error=/usr/local/mysql/data/mysql_error.log(指定日志的保存位置和文件名)
通用查询日志
1.用来记录mysql的所有连接和语句,默认是关闭的
2.开启方式:
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
二进制日志(binlog)
1.二进制日志,用来记录所有更新的数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认开启
2.开启方式: 
log-bin=mysql-bin 或者 log_bin=mysql-bin
慢查询日志
1.慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化 
2.开启方式: 
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log (指定文件路径和名称)
long_query_time=5 (设置执行超过5秒的语句会被记录,缺省时默认为10秒)

img
img

查询日志状态

查看通用日志开启状态
show variables like 'general%';

img

查看二进制日志开启状态
show variables like 'log_bin%';

img

查看慢查询日志功能是否开启
show variables like '%slow%';

img

查看慢查询时间设置
show variables like 'long_query_time';

img

在数据库中设置开启慢查询的办法(临时)
set global slow_query_log=ON;

img

备份与恢复

概述

  1. 备份的主要目的是灾难恢复
  2. 在生产环境中,数据的安全性至关重要
  3. 任何数据的丢失都可能产生严重的后果
  4. 通常情况下,造成数据丢失的原因有一下几种:
    1)程序错误
    2)人为操作错误
    3)运算错误
    4)磁盘故障
    5)灾难(火灾、地震、盗窃等)

备份类型

从物理与逻辑的角度分类(逻辑备份、物理备份)
  1. 数据库备份可以分为物理备份和逻辑备份
  2. 逻辑备份是对数据库逻辑组件(如表等数据库对象)的备份
  3. 逻辑备份适用于可以编辑数据值或表结构较小的数据量,或者在不同的机器体系结构上重新创建数据
  4. 物理备份是对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
  5. 物理备份适用于在出现问题时需要快速恢复的大型重要数据库
  6. 物理备份又可以分为冷备份(脱机备份)、热备份(联机备份)和温备。
    1)冷备份:在数据库关闭状态下进行备份操作(tar)
    2)热备份:在数据库处于运行状态时进行备份操作,该备份方法依赖数据库的日志文件(mysqldump)
    3)温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作。
从数据库的备份策略角度分类(完全备份、差异备份、增量备份)
  1. 完全备份:
    1)每次对数据进行完整的备份,即对整个数据库、数据库结构和文件结构的备份,是差异备份与增量备份的基础,保存的是备份完成时刻的数据库
    2)完全备份恢复数据时直接使用完全备份的文件即可,备份与恢复操作简单
    3)每次完全备份后会导致备份文件存在大量的重复,并且会占用大量的磁盘空间,备份与恢复的时间也很长
  2. 差异备份:
    1)每次差异备份都会备份上一次完全备份之后的数据,可能出现备份数据重复,导致占用额外的磁盘空间
    2)恢复数据时,先恢复上次的完全备份,再恢复最近的一次差异备份
  3. 增量备份:
    1)只有那些在上次完全备份或者增量备份后被修改的文件才会被备份,不会出现重复数据的情况,也不占用额外的磁盘空间
    2)备份的数据量小,占用空间小,备份速度快但
    3)恢复时,需要从上一次的完整备份开始到最后一次增量备份之的所有增量依次恢复,如中间某次的备份数据损坏,将导致数据的丢失

备份方法

数据库的备份可以采用很多种方式,如直接打包数据库文件(物理冷备份)、专用备份工具(mysqldump)、二进制日志增量备份、第三方工具备份等

物理冷备份
  1. 物理冷备份时需要在数据库处于关闭状态下,能够较好地保证数据库的完整性
  2. 使用tar命令直接打包数据库文件夹(/usr/local/mysql/data)来实现备份,直接替换现有mysql目录即可
  3. 速度快,恢复时也是最为简单,一般用于非核心业务,这类业务一般都允许中断
专用备份工具mysqldump或mysqlhotcopy
  1. mysqldump工具和mysqlhotcopy都可以做备份
  2. mysqlhotcopy仅适用于某些存储引擎(MyISAM和ARCHIVE)
通过启用二进制日志进行增量备份

如果进行增量备份(包含自上次完全备份或增量备份以来发生的数据修改) ,需要刷新二进制日志

通过第三方工具备份

第三方工具Percona xtraBackup是一个免费的MysQL热备份软件

完全备份/恢复操作

创建表结构、表数据
use gxd;
create table if not exists gxd03 (
id int(4) not null auto_increment,<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值