+一、数据备份策略
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