MySQL备份与还原
当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏或者数据被误删等事件时,使用一种有效的数据备份方案,尽量挽回损失。
MySQL备份方案
- 逻辑备份
- 物理备份
- 全备份
- 增量备份
- ...
逻辑备份
逻辑备份通过保存代表数据库结构及数据内容的描述信息实现,如,保存创建数据结构以及添加数据内容的SQL语句,这种备份方式适用于少量数据的备份与还原。
逻辑备份需要查询MySQL服务器获得数据结构及内容信息,因为需要查询数据库信息并将这些信息转换为逻辑格式,所以相对于物理备份而言比较慢。
逻辑备份不会备份日志、配置文件等不属于数据库内容的资料。
逻辑备份的优势在于不管是服务层面、数据库层面还是数据表层面的备份都可以实现,由于是以逻辑格式存储的,所以这种备份与系统、硬件无关。
物理备份
物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模数据进行备份,并且要求实现快速还原的生产环境。
典型的物理备份就是复制 MySQL数据库的部分或全部目录,物理备份还可以备份相关的配置文件。但采用物理备份需要MySQL处于关闭状态或者对数据库进行锁操作,防止在备份的过程中改变发送数据。
物理备份可以使用mysqlbackup对InnoDB数据进行备份,使用mysqlhotcopy对MyISAM数据进行备份。另外,也可以使用文件系统级别的cp、scp、tar、rsync等命令。
全备份
全备份将备份某一时刻所有的数据。通过物理或逻辑备份工具就可以完成完全备份。
增量备份
增量备份仅备份某一段时间内发生过改变的数据。需要开启MySQL二进制日志,通过日志记录数据的改变,从而实现增量差异备份。
MySQL备份命令
使用MySQL提供的工具命令进行逻辑备份。
#备份所有的数据库
mysqldump -u root -p --all-databases > backup.sql
#备份指定的数据库db1、db2以及db3
mysqldump -u root -p --databases db1 db2 db3 > backup.sql
#备份db数据库,当仅备份一个数据库时,--databases可以省略
mysqldump -u root -p db4 > backup.sql
mysqldump -u root -p --databases db4 > backup.sql
MySQL还原命令
mysql -u root -p mydb < backup.sql
参考资料
mysql数据库的备份与还原
MySQL数据库备份与还原
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341