1、逻辑备份
逻辑将数据库的内容转储到文本文件中,这些文本包含sql语句,这些sql语句包含重建mysql数据库和表所需的全部信息。可以使用改文本文件在运行不同体系结构的其他主机上重新装入数据库,在创建逻辑备份时,mysql服务器必须处于运行状态,因为服务器在创建文件时要读取备份的表结构和内容,采用逻辑备份时,可以备份本地和远程sql服务器,只能在本地mysql服务器上执行其他类型的备份。
2、物理备份
物理备份是mysql数据文件的二进制副本,这些副本以完全相同的格式保留在数据库存储在磁盘上。原始备份是数据库文件位的完整表现形式,因此必须将其恢复到使用相同数据库引擎的mysql服务器。在从innodb表恢复原始mysql备份时,会在目标服务器上保留一个innodb表,原始二进制备份的速度比逻辑备份快,因为过程是简单的文件复制,不需要了解文件的内部结构。
例如:
ibdata1
ib_logfile
database
mysq-bin文件
3、物理备份之冷备与热备
冷备份:可通过关闭mysql服务器,然后再进行备份,备份时,必须确保在备份进行期间服务器不修改文件
热备份:可以使用快照、复制或专有方法,最大限度的减小对mysql数据库和应用程序的影响,对于某些存储引擎,有更好的方法是暂时锁定数据库再进行备份,然后再将数据库解锁,锁在热备做了两件事,第一记录binlog文件的位置,第二冷备份非事务引擎的表(myisam)
5、自动化备份
(1)明确备份任务,数据库地址、数据库端口、备份工具、备份时间
(2)备份脚本,全量备份每天,binlog增量备份每天
(3)任务定时器
(4)备份步骤详情,成功还是失败,备份文件大小
(5)备份基本信息,备份多少次,备份那些表,那些数据库
6、mysql备份工具
mysqldump:逻辑备份,单线程,不太适合大数量级数据库的备份
mydumper:逻辑备份,社区版,第三方工具,多线程
xtrabackup:逻辑+物理备份,开源工具,支持innodb+myisam引擎表备份
(1)mysqldump的使用
mysqldump -h 127.0.0.1 -P3306 -uroot -p --single-transaction --master-data=2 db>/tmp/dump.sql
(2)xtrabackup工具
xtrabackup安装:https://blog.csdn.net/guoyJoe/article/details/51785118
innobackupex备份过程
innobackupex恢复原理
备份命令:innobackupex --defaults-file=/etc/my.cnf --user=root --password='' --socket=/tmp/mysql.sock --no-timestamp /apps/backup/xtrabackup
备份到/apps/backup/xtrabackup下面
恢复命令:innobackupex --apply-log --defaults-file=/apps/backup/xtrabackup/backup-my.cnf --user=root --password='' /apps/backup/xtrabackup
如果误操作删除了数据库,可用以下命令恢复
模拟误操作:rm -rf /apps/dbdata/mysql3306/*
cp -fr /apps/backup/xtrabackup/* /apps/dbdata/mysql3306/
chown -R apps:apps /apps/dbdata/mysql3306/
随后启动mysql,可以正常启动。