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