MySQL 备份与恢复
一、
非事务表的一致备份:可以用MyISAM引擎不支持事物,对非事务表备份时,在备份期间不可以写!
mysqldump --skip-opt --quick --extended-insert=false --lock-all-tables --master-
data=1 --databases atcdb > ./atcdb.sql
复制选项change master to 为2时以注释形式写入
创建数据库
切换数据库
创建表
插入数据
事务表的一致备份——需要innodb引擎,对事务表备份时,在备份期间可以读写!
二、
mysqlbinlog工具查看二进制日志和relay log。
日志位置值是指偏移字节数
row格式的二进制日志内容:时间戳,position,BINLOG命令,
当前有哪些二进制日志文件:show binary logs;
清除日志文件:reset master;
日志切换:flush logs;
查看特定位置——如表删除位置:show binlog events in 'binlogfile';
显示内容有:日志名,开始位置(偏移字节数),事件类型,结束位置
三、
先删除数据库:drop database atcdb;
还原到备份时的状态:mysql < ./atcdb.sql
数据库还原恢复时的操作也写到二进制日志!需要区分!否则容易引起死循环!
应用日志,恢复数据库:mysqlbinlog --start-position=106 --stop-position=484 -vv ./binlog_name.000001 | mysql -uroot -pabc
注:在484位置删除了数据,恢复到484之前。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7970627/viewspace-719317/ ,如需转载,请注明出处,否则将追究法律责任。