共计 5578 个字符,预计需要花费 14 分钟才能阅读完成。
这期内容当中丸趣 TV 小编将会给大家带来有关怎样进行 mysqlbackup 的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、mysqlbackup 工具的介绍 1.1 mysqlbackup 软件的说明 undefined
Mysql 的备份方法有很多种,大部分企业当数据量很小的时候都是选择 mysqldump 导出数据库的方式来进行备份,但是当数据量较多的时候,就不建议用这种方法进行。
公司的 Mysql 数据库 300GB,用 mysqldump 的方法进行恢复的时候,居然用了整整的一个星期,如果真正在灾难的时候需要恢复,那简直就是灾难啊。
经过网上的查找和搜索,发现 mysql 的备份软件确实太多,第三方的机构也有提供了相应的备份软件,ORACLE 公司也提供了针对企业的备份软件 MySQL Enterprise Backup 简称:mysqlbackup。
考虑到软件的生命周期和软件的文档考虑,还是使用 mysqlbakcup,原因如下:
mysqlbackup 从 3.5 到 4.1 版本说明 mysql 公司一直在更新这个软件,这样随着 mysql 软件的更新备份软件也会跟着更新,避免出现 bug 没有解决,同时 mysql dba 掌握了这么技术后也可以一直延续使用,提高了学习的收益。
在 mysql 的网站里面有完整的使用手册,这些文档对于整个软件的使用至关重要;
1.2 mysqlbackup 软件的下载
mysqlbackup 企业版在 mysql 的开源社区是下载不了的,需要有 metalink 的账号才能下载。(早期是可以下载的,估计后来用户的体验不错,需要授权购买 oracle 的服务才可以了)
目前我的环境都还是 mysql5.6 的,所以选择用 3.12 的版本(3.12 的版本修复了几个重要的 bug,建议用这个版本)
1.3 mysqlbackup 软件的安装
选择相应的版本进行下载,每台要进行备份的 mysql 服务器都需要安装这个软件。Mysql 提供了两种包,安装的方法也有所不同。常用的安装步骤如下:
sudo rpm -ipackage_name.rpm
tar xvzfpackage.tgz
安装的目录如下:/opt/mysql/meb-3.12
其他设置命令使用的快捷方式:ln -s /opt/mysql/meb-3.12/bin/mysqlbackup /usr/bin/mysqlback
二、mysqlbackup 工具的介绍
mysqlbackup 和 mysqldump 的主要功能是备份跟还原,mysqlbackup 是 oracle 的企业产品感觉整个产品的思路和 oracle 的 rman 很像。mysqlbackup 的功能对比成 oracle 的 expdp。
Mysqlbackup 提供了备份还原一些企业的功能:提供了更快的备份方式和更快的还原方式,支持在线全备和增倍、备份的压缩、并行备份、备份的加密、数据库的还原和基于时间点的还原。
通过 mysqlbackup3.1.1 备份位置和空间的配置。
建议备份的目录和数据库文件的目录区分开,避免备份把空间撑爆了而导致系统不能使用;
3.1.2 设置备份策略(备份频率、备份保留周期)
同时计算下每次备份所需要的磁盘空间再根据备份策略合理安排备份的空间;
3.1.3 创建单独的备份用户
其他业务分开账号的使用,数据库作为重要的系统,一般都会每年变更管理密码的,这里单独使用一个避免后期还需要变更;
备份用户所需要的基本权限
3.2 备份库主要选项
备份其实主要的内容也就是 backup、restore 和校验。每个阶段使用的主要参数如下:
Backup operations: backup, backup-and-apply-log, backup-to-image
Update operations: apply-log, apply-incremental-backup
Restore operations: copy-back, copy-back-and-apply-log
Validation operation: validate Single-file backup
operations: image-to-backup-dir, backup-dir-to-image, list-image, extract
在 3.12.3 以下的版本 backup-and-apply-log 这个备份的时候不能结合参数 compress 使用。mysqlbackup 官方的文档建议使用 backup-to-image 选项,该方法性能更好,而且备份的文件也更小。
备注:
When used with the apply-log or copy-back-and-apply-log operation, uncompresses a compressed backup before applying the InnoDB log. When used with the copy-back operation,uncompresses a compressed prepared backup (created by the backup-and-apply-log command with the –compress option) before restoring it to a server (only supported for MySQL Enterprise
Backup 3.12.3 and later).
backup-to-image
Produces a single-file backup holding the backup data. In most cases, single-file backups are preferred over directory backups, which are created using the backup command.
3.3 备份库主要参数
可以通过 mysqlbackup –help 会显示丰富的参数说明, 这边列几个比较常见的参数
备注
–backup-dir
The directory to store the backup data.
–backup-image
Specifies the path name of the backup image.
结合 backup-to-image 使用
–compress
Create backup in compressed format.
默认级别是 1
–compress-level
Specifies the level of compression.
–compress-level=LEVEL –uncompress
Uncompress the compressed backup before an apply-log,
copy-back, or copy-back-and-apply-log operation.
如果备份是有使用 compress,还原的时候就得使用该参数 –datadir
Path to mysql server data directory.
–defaults-file
Only read default options from the given file.
–force
Force overwriting of data, log, or image files, depending on
the operation.
进行强制覆盖
–incremental
Specifies that the associated backup or backup-to-image
operation is incremental.
增量备份选项
–incremental-backup-dir
Specifies the location under which to store data from an
incremental backup.
增量备份保存位置
–incremental-base
The specification of base backup for –incremental option.
上次完整备份的位置
–with-timestamp
Create a subdirectory underneath the backup directory
with a name formed from the timestamp of the backup
operation.
根据时间戳生成一个文件,因为备份的时候需要在一个空的目录保存文件,所以一般建议使用整个参数
四、mysqlbackup 备份及还原
方法一:使用 backup
方法二:在不同的时期使用 app-log 点击 (此处) 折叠或打开
【注】backup-and-apply-log 使用这个脚本,mysql 官方文档有以下说明,不能用于增量备份,但是在实验中却是可以的;
backup-and-apply-log
A combination of backup and apply-log. It cannot be used for an incremental backup.
方法三:使用 backup-to-image 的方式
这种方法是 mysql 官方推荐的,只有产生单个的备份二进制文件,整个备份的大小也比前面两种要小
点击 (此处) 折叠或打开
方法一:用 bakcup 的方法进行的增量备份 点击 (此处) 折叠或打开
方法二:用 image 的方法进行的增量备份 点击 (此处) 折叠或打开
备份的操作:先进行全备后进行增备
mysqlbackup –user=mysqlbackup –password=123 –backup-image=backup.mbi –backup-dir=/backup –with-timestamp backup-to-image # 先备份成 image
mysqlbackup –defaults-file=/etc/my.cnf –user=mysqlbackup –password=123 –with-timestamp –incremental –incremental-backup-dir=/backup/ –incremental-base=dir:/backup/2017-09-18_15-53-57 backup #在原来备份的基础上进行增量备份
点击 (此处) 折叠或打开
还原的操作
mysqlbackup –backup-dir=/backup/full –backup-image=/backup/2017-09-18_15-53-57/backup.mbi image-to-backup-dir 先转换成方法一的备份文件,后续的步骤都跟前面一样
mysqlbackup –backup-dir=/backup/full apply-log
mysqlbackup –backup-dir=/backup/full –incremental-backup-dir=/backup/2017-09-18_15-56-13 apply-incremental-backup
mysqlbackup –defaults-file=/etc/my.cnf –force –backup-dir=/backup/full –datadir=/data/mysql copy-back-and-apply-log
六、其他操作
6.1 关于 image 备份的一些操作
点击 (此处) 折叠或打开
mysqlbackup –backup-image=/backup/2017-09-18_15-53-57/backup.mbi validate 检查备份的有效性;
mysqlbackup –backup-image=/backup/2017-09-18_15-53-57/backup.mbi list-image 列出备份对象
mysqlbackup –backup-image=/backup/2017-09-18_15-53-57/backup.mbi extract 进行解压,直接在备份目录里面操作
mysqlbackup –backup-dir=/backup/backup –backup-image=/backup/2017-09-18_15-53-57/backup.mbi image-to-backup-dir 指定备份目录进行解压
6.2 其他
关于备份的压缩:其实备份的压缩挺好用的,经过测试可以显著的节省备份的空间。虽然在上面测试的时候没有演示,实际上本人是有操作过备份压缩的,而且相对于正常的备份其实并没有消耗很多的时间;
关于 image 的增量备份:image 的增量备份恢复步骤相对全备麻烦了很多,在官方文档里面找了很久是不是还有更便捷的操作,但始终没有找到相关操作说明,如果知道的朋友麻烦留下言,感激不尽;
关于增量备份:增量备份有没有必要了,其实这要看我们系统的重要性、数据增长的速度。目前我们这边最大的系统 2 天才产生一个 G 的 binlog,整体数据库也不算很大,所以现在每天都是使用全备了。
关于该软件:mysqlbackup 其实还有很多的功能的,可以针对表、数据库对象进行备份。同时也可以用于搭建从库,这个功能对于数据库很大的用户是个福音,强烈对剑该功能;
但是由于这个软件是 Oracle 的企业版,付费用户才能使用的,所以网上相关的资料并不多。
上述就是丸趣 TV 小编为大家分享的怎样进行 mysqlbackup 的分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。