MySQL学习笔记(27):备份与恢复
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。
目录
- 逻辑备份和恢复
- 物理备份和恢复
- 冷备份和恢复
- 热备份和恢复
- 表数据导入导出
MySQL的备份分为逻辑备份和物理备份,物理备份分为冷备份和热备份。恢复分为完全恢复和不完全恢复,不完全恢复又分为基于时间点的恢复和基于位置的恢复。
逻辑备份和恢复
使用mysqldump进行逻辑备份,如mysqldump dbname > filename
。
为了保证数据备份的一致性,MyISAM存储引擎需加上-l参数,如InnoDB等事务存储引擎应加上--single-transaction。
恢复包括两个步骤:
- 使用备份数据恢复,如
mysql dbname < backupfilename
。 - 将备份后至恢复前的日志重做(不要把上一步执行时的二进制日志也重做了),如
mysqlbinlog logfilename | mysql dbname
。可进行不完全恢复,但要注意是否包含完整的事务,如mysqlbinlog --start-date=start logfilename | mysql dbname
或mysqlbinlog --start-position=position logfilename | mysql dbname
。
物理备份和恢复
冷备份和恢复
冷备份就是停掉数据库服务,拷贝数据文件。
热备份和恢复
对MyISAM存储引擎,热备份可使用mysqlhotcopy
,本质就是将要备份的表加读锁,然后拷贝数据文件。
对InnoDB存储引擎,可安装使用ibbackup、Xtrabackup(包括xtrabackup和innobackupex两个主要工具)等工具。
表数据导入导出
表数据导出有两种方法:
- 使用
SELECT ... INTO OUTFILE filename [options]
。 - 使用
mysqldump -T
。
表数据导入有两种方法:
LOAD DATA [LOCAL] INFILE filename INTO TABLE tablename [options]
。mysqlimport dbname filename
。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341