1、备份类型
cold,warm,hot
consistentinconsistent一致,非一致
logical,physical逻辑,物理
full,increamenta,differential完全,增量,差异


2、Oracle的热备方式:
热备时,允许所有读写,但所有修改了的数据都存放在redo-log日志中(二进制文件,有先后顺序)而先不放入数据库。

undo-log可以让数据精确回到过去某个时刻,满足生产需要,可靠性高。


3、MySQL常用备份工具
1)mysqldump ALL     WARM 逻辑温备,可手动加锁
INNODB HOT
2)ibbackup INNODB HOT 物理备份
ALL WARM

注:XtroDB与INNODB兼容,类似,用于取代INNODB,热备开源。需要编译mysql并整合XtroDB,替代INNODB

3)snapshot(LVM,ZFS) ALL ALMOST 物理HOT

4)mysqlhotcopy 仅MYISAM MOSTLY COLD (LVM,snapshot)

5)BACKUP ALL HOT mysql自带逻辑备份命令,用的少

6)SELECT INTO OUTFILE 逻辑备份

7)tar,cp 冷备



4、案例:要求使用温备份方式备份数据库mydb,其使用MyISAM引擎。
1)分析:
是否能离线,能离线则离线冷备;不能离线,则使用warm备份(能写操作延迟)或hot备份(不能写操作延迟)
2)
mysqldump -u -h -p --all-databases  --databases   
--events备份事件
--flush-logs 在数据库导出之前先执行FLUSH LOGS
--lock-all-tables 保持一致性,常与--lock-all-tables合用
--lock-tables 锁定某些表
--master-data=n  (指定备份点:log fiel name and position)
--opt   (PITR 精确恢复,时间点恢复)
--routines (备份存储过程、存储函数)
--triggers (备份触发器)
--single-transaction (为事务性数据库提供备份)
--where (指定过滤条件,只备份符合条件数据)

3)
mysqldump -uroot  -p mydb > /root/mydb-`date +"%F"`.sql

mysqldump -uroot  -p --flush-logs --events --routines --triggers mydb > /root/mydb.sql  备份事件等

mysqldump -uroot  -p --databases mydb dnsdata > /root/mydb.sql  同时备份两个数据库

mysqldump -uroot  -p mydb course > /root/mydb.sql 备份表course


查看备份文件可以看到如:CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000008',MASTER_LOG_POS=106;语句
即:指定备份点:log fiel name and position)



4、MySQL日志
错误日志:/datadir,--log-error 服务器启动关闭信息,重要错误信息
一般查询日志
慢查询日志
二进制日志,PITR


查看所有日志:SHOW BINARY LOGS;
SHOW GLOBAL VARIABLES LIKE '%bin%';

SHOW BINLOG EVENTS;

SHOW BINLOG EVENTS IN 'mysql-bin.000006'\G;

SHOW BINLOG EVENTS IN 'mysql-bin.000006' FROM 950;

mysqlbinlog mysql-bin.000006   查看binlog,不用进mysql




**备份之后一定要试试备份文件是否可以备份。
**有问题可以查看错误日志......err