备份
MySQL备份可分为全量备份与增量备份,小量的数据库可以每天进行完整备份,因为用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份。增量备份的原理就是使用了mysql的binlog日志。
备份全部数据库:
全量:
mysql用mysqldump导出数据库时提示“-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.”
因为mysqldump默认是不备份事件表的,只有加了--events 才会解决加上--events --ignore-table=mysql.events参数即可#mysqldump -uname -ppasswd --lock-all-tables --master-data=2 --events --routines -A -F > /database_`date +%F`.sql
解析:–lock-all-tables表示为所有表施加读锁;–master-data=2表示在备份文件中记录当前二进制日志的位置;–events表示备份数据的同时备份时间调度器代码;–routines表示备份数据的同时备份存储过程和存储函数;–all-databases表示备份所有库。-F 刷新binlog.
恢复:
mysql -uroot -pPwd < databases.sql.bak
mysqlbinlog mysql-bin.000003 | mysql -uroot -pPwd (MySQL-bin.000003为备份之后刷新的日志)
增量: