mysql恢复库表结构
1.通过每天备份的sql文件恢复
在服务器上创建crontab定时任务,每日凌晨全部备份数据库,并发送到文件服务器上。
mysqldump --host=${DBHOST} -u${DBUSER} -p${DBPWD} --databases ${DBNAME} | gzip > ${currentpath}/${filename}
全量备份。
ps:要保证mysqldump客户端和服务端保持一致。5.6以后的和5.6以前的版本不适配。
缺点:可能数据库数据量太大时,备份数据时间较慢。
2.通过binlog文件恢复
如果想要通过binlog恢复,就要先打开mysql的binlog的功能。
cat /etc/my.cnf|grep log-bin
log-bin=mysql-bin
通过binlog文件恢复
mysqlbinlog mysql-bin.000005 --start-position=10 --stop-position=200 -r pos.sql
导出成sql文件