大家好,我是anyux。本文介绍mysqldump简单备份。
设计备份策略
对于DBA管理人员来讲,制定备份策略是看似的是一件不太重要的事情。但在实际过程中需要根据数据量与磁盘空间做估算
备份方式:全备、增量、时间、自动
备份周期:根据数据量。每天备份,60G数据,一个小时内完成。9T数据,使用xbk每周做全备,每天二进制日志
备份工具:MDB(mysqldump)、XBK(PBK)percontaXtrabackup、MEB(MySQLEnterpriseBack),mysqlbinlog
逻辑备份:全备mysqldump、增量binlog(flushlogs;cplog-bin;)
物理备份:全备XBK,增量XBK
检查备份可用性
备份可用性检查、备份空间检查
定期的恢复演练
对于数据库的恢复演练,需要过半年或每月进行测试恢复演习
数据恢复
通过现有的备份,将数据库恢复到故障前的状态,配合binlog日志
数据迁移
同数据库迁移是最简单的。只是存在版本变化。比如从5.0到5.7版本的迁移。对于同一款数据库来讲,它的迁移方式还是比较简单的
mysql-mysql
比较麻烦的是异构数据库之间的迁移。此处还包括了操作系统不同的迁移
其他-mysql
mysql-其他
备份的介绍
备份类型:
热备:对于业务影响小InnoDB
温备:长时间锁表备份MyISAM
冷备:业务关闭情况下备份
备份基本参数
mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
mysqldump命令的工作原理很简单。它先获取数据表的结构信息,然后将创建表结构的语句写入到sql文件中。其后将表中的所有数据转换成一条INSERT语句。最后将这些语句,写入到sql文件中。
备份全部数据库
使用--all-databases,备份所有的数据库
也可以使用-A简写,来备份所有数据库
全量备份,将数据库系统中所有数据库备份到/tmp/full.sql
mysqldump-uroot-proot--all-databases/tmp/full.sqlmysqldump-uroot-proot-A/tmp/full2.sql
查看备份文件cat/tmp/full.sql
文件第一行说明了mysqldump工具的版本
文件第二行说明了主机名称
文件第二行说明了数据库服务器版本
文件中--表示sql语句的单行注释,/*!开头表示MySQL的注释,表示MySQL数据库的版本号,如果MySQL版本低于4.1.1会被当作注释,可以忽略
指定数据库备份
使用--databases,后面可以接多个参数库名称,可以备份多个数据库
也可以使用-B简写,来备份多个数据库
mysqldump-uroot-proot--databaseswordpressworld/tmp/twoDB.sql
两条数据库备份语句作用相同
mysqldump-uroot-proot-Bwordpressworld/tmp/twoDB2.sql
指定表备份
指定表备份
mysqldump-uroot-prootworldcitycountry/tmp/table.sql
欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍运维、数据库相关的技术,喜欢我的文章就