mysql 备份 / 恢复 (文末有备份脚本)

本文详细介绍了MySQL的备份策略,包括完全备份、增量备份和差异备份。通过mysqldump进行物理和逻辑备份,以及如何启用binlog日志进行数据恢复。此外,文章深入探讨了innobackupex工具在完全备份、增量备份和恢复中的应用,并提供了具体的shell命令示例。最后,讲解了如何使用innobackupex恢复单个表的方法。
摘要由CSDN通过智能技术生成

+一、数据备份策略

1、完全备份
– 备份所有数据(一台服务器、一个库、一张表)
2、增量备份
– 备份自上一次备份(包含完全备份、差异备份、增量
备份)之后有变化的数据
3、差异备份
– 备份自上一次完全备份之后有变化的数据

二、mysqldump备份与恢复

1、物理备份与恢复

备份操作
]# cp -rp /var/lib/mysql/ 数据库 备份目录 / 文件名
]# tar -zcvf xxx.tar.gz /var/lib/mysql/ 数据库 /*

恢复操作
]# cp -rp 备份目录/文件名 /var/lib/mysql/
]# tar -zxvf xxx.tar.gz -C /var/lib/mysql/ 数据库名

2、逻辑备份与恢复

备份操作
]# mysqldump 源库名 > 路径 /xxx.sql
]# myslqdump db1 > /tmp/db1.sql
恢复操作
]# mysql 目标库名 < 路径 /xxx.sql
]# mysql db1 < /tmp/db1.sql

3、mysqldump选项

源库名的表示
– –all-databases 或 -A 所有库
]# mysqldump -uroot -p123qqq…A -A > all.mysql

数据库名 单个库
]#mysqldump -uroot -p123qqq…A db1 > db1.mysql

数据库名 表名 单张表
]# mysqldump -uroot -p123qqq…A db1 t1 > t1.mysql

备份多个库: – B 数据库 1 数据库 2
]# mysqldump -uroot -p123qqq…A -B db1 db2 > db1-2.mysql

(无论备份还是恢复,都要验证用户及权限)

四、启用 binlog 日志

1、binlog 相关文件
主机名 -bin.index 记录已有日志文件名
主机名 -bin.000001 第 1 个二进制日志

手动生成新的日志文件:
a、 重启 mysql 服务
b、执行 SQL 操作 mysql> flush logs;
c、 mysqldump –flush-logs
d、 mysql -uroot -p 密码 -e ‘flush logs’

2、清理 binlog 日志
mysql> reset master;

3、分析 binlog 日志

使用 mysqlbinlog 工具
重点内容格式: mysqlbinlog [ 选项 ] binlog 日志文件名

常用选项
–start-datetime=”yyyy-mm-dd hh:mm:ss”
–stop-datetime=”yyyy-mm-dd hh:mm:ss”
–start-position= 数字
–stop-posi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值