Mysql备份工具innobackupex简单操作及参数说明
Mysql备份工具innobackupex简单操作及参数说明
简述
最近检查服务器,数据库没有备份,现在数据及金钱的时代必须对数据做好备份。
检索了一下网上对MySQL备份的免费工具,mysqldump
、Xtrabackup
是免费且好用的。
Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。
Xtrabackup安装完成后有4个可执行文件,其中2个比较重要的备份工具是innobackupex、xtrabackup
- xtrabackup 是专门用来备份InnoDB表的,和mysql server没有交互;
- innobackupex 是一个封装xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需要加一个全局的读锁。
- xbcrypt 加密解密备份工具
- xbstream 流传打包传输工具,类似tar
根据实际情况,我们用的MySQL5.7.*的库,且没有MyISAM
的表,Xtrabackup
正式我们的选择,Liunx环境使用脚本可以完成自动化的工作;Xtrabackup
的Perl脚本 innobackupex 正合适。
我们用了Xtrabackup
的2.4的版本;
简单操作
全量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=“123456” --backup /root/complete
–apply-log 使用此参数使用相关数据性文件保持一致性状态,“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件使得数据文件处于一致性状态
innobackupex --apply-log /root/complete/2023-11-16_13-48-29/
#恢复数据之前需要保证数据目录是空的状态
全量恢复
innobackupex --defaults-file=/etc/my.cnf --copy-back /root/complete/2023-11-16_13-48-29/