CN110795420A - 一种基于Ansible的MySQL数据库自动化备份方法 - Google Patents

一种基于Ansible的MySQL数据库自动化备份方法 Download PDF

Info

Publication number
CN110795420A
CN110795420A CN201911041920.7A CN201911041920A CN110795420A CN 110795420 A CN110795420 A CN 110795420A CN 201911041920 A CN201911041920 A CN 201911041920A CN 110795420 A CN110795420 A CN 110795420A
Authority
CN
China
Prior art keywords
backup
database
file
instance
mysql
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911041920.7A
Other languages
English (en)
Inventor
厉颖
赵山
王阳
杨超
赵建昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201911041920.7A priority Critical patent/CN110795420A/zh
Publication of CN110795420A publication Critical patent/CN110795420A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于Ansible的MySQL数据库自动化备份方法,属于涉及Ansible的应用及云计算环境下MySQL数据库备份、openstack Swift分布式对象存储服务技术领域,包括:在MySQL数据库实例正常运行条件下,用户数据库实例控制台操作备份功能,执行底层Ansible备份数据库脚本,查找专用备份节点执行XtraBackup备份操作,将数据库备份文件上传到Swift对象存储,备份成功同时返回数据库实例备份文件大小信息。简化了备份操作流程,减少了人工干预备份;保证了数据库业务不中断;节省了本地磁盘空间,实现备份文件不落盘。

Description

一种基于Ansible的MySQL数据库自动化备份方法
技术领域
本发明涉及Ansible的应用及云计算环境下MySQL数据库备份、openstack Swift分布式对象存储服务技术,尤其涉及一种基于Ansible的MySQL数据库自动化备份方法。
背景技术
在云计算、大数据背景下,公有云环境中数据库应用越来越广泛。数据库备份作为信息安全的重要保障,能够在数据库崩溃的时候,快速方便的找到数据库数据。
Ansible是一种自动化运维工具,能够实现批量系统配置、批量程序部署、批量运行命令等功能。通过编写Ansible脚本自动化备份数据库,减少手动备份的误操作风险。
MySQL数据库是目前较流行的关系型数据,MySQL常用的备份方法有 mysqldump方法、XtraBackup方法。mysqldump方法在备份过程中会加锁影响数据库业务,XtraBackup是MySQL热备份软件,可以为InnoDB和XtraDB 数据库执行非阻塞备份,可快速、可靠的完成备份,备份期间不间断事务处理,同时自带备份验证功能,出现故障时能够快速的备份恢复。采用 XtraBackup方法,同时备份公有云实例集群的slave节点,双重保障数据库业务不中断。
公有云环境中,MySQL数据库业务访问量的增加,数据库数据量的增加,备份文件随之越来越大,备份文件的存储空间问题突显出来。Openstack Swift 提供存储量大、存储时间长、高可用的存储服务,能够解决数据库实例的备份文件存储空间问题,解决本地磁盘空间有限的难题。
发明内容
为了解决以上技术问题,本发明提出了一种基于Ansible的MySQL数据库自动化备份方法,减少本地磁盘空间,提高数据库数据的空间利用率。
本发明的技术方案是:
一种基于Ansible的MySQL数据库自动化备份方法,
通过借助Ansible工具进行脚本化备份功能编排,对MySQL数据库进行备份功能管理,包括数据库数据的备份、备份文件的压缩,备份文件上传功能.
进一步的,
Ansible备份功能中数据库数据的备份,包括
查找数据库实例的专用备份节点;
在专用备份节点运行正常的情况下进行XtraBackup备份。
再进一步的,
运行正常包括数据库运行状态以及SLAVE的IO线程和SQL线程运行状态。
进一步的,
数据库备份文件压缩成gzip流的形式,通过shell管道技术,将备份文件压缩同时进行Swift upload命令上传到分布式对象存储。
进一步的,
备份文件压缩和上传功能,用于除MySQL数据备份文件的其它数据库类型的备份文件,上传到对象存储。
再进一步的,
主要包括三部分;
通过Ansible脚本批量执行备份功能,一键实现备份功能,简化备份操作流程,减少人工干预备份;
对数据库集群专用SLAVE备份节点进行备份,保证数据库业务不中断;
边备份边压缩文件边进行上传到对象存储,节省了本地磁盘空间,实现备份文件不落盘。
再进一步的,
在MySQL数据库实例正常运行条件下,用户数据库实例控制台操作备份功能,执行底层Ansible备份数据库脚本,查找专用备份节点执行XtraBackup 备份操作,将数据库备份文件上传到Swift对象存储,备份成功同时返回数据库实例备份文件大小信息。
再进一步的,
利用XtraBackup备份工具优点和Swift特性,边压缩备份文件边上传,备份的同时将备份文件上传到Swift对象存储。
具体步骤如下:
(1)公有云数据库实例控制台判断实例的集群状态是否正常,正常执行步骤(2),不正常返回异常信息到控制台给用户;
(2)控制台发送备份功能的命令给Ansible执行器;Ansible执行器是专门处理Ansible脚本的模块,功能是下载数据库实例特定版本的脚本,执行 Ansible命令;
(3)Ansible执行器下载自动化模板脚本文件;根据不同的数据库实例的版本,下载相应版本的自动化模板脚本文件;
(4)Ansible执行器执行备份脚本;
(5)执行器返回备份文件给控制台,展示备份文件相关信息。
备份脚本流程如下:
(1)查找数据库实例的SLAVE备份节点;
(2)检查步骤(1)找到的备份节点的数据库连接性,是否能正常执行 select语句,以及主从备份是否正常,正常执行步骤(3),不正常退出;
(3)创建备份日志目录,便于查找备份错误日志;
(4)执行XtraBackup命令备份MySQL数据库,通过shell管道压缩备份文件成gzip格式,并同时通过Swift client命令上传到对象存储空间;
(5)保存输出的备份日志,清理过期的备份日志,仅保留较新的日志,防止日志占用较多磁盘;
(6)从Swift对象存储获取数据库备份文件大小,用于返回控制台展示。
本发明的有益效果是
采用Ansible批量进行自动化备份,避免人工执行备份命令的误操作;在数据库集群实例专用备份节点上进行备份,不影响主节点的业务;能够边备份边进行上传备份分布式文件存储,减少本地存储硬盘损坏造成备份文件损坏的风险,同时减少本地磁盘空间,提高数据库数据的空间利用率。
附图说明
图1是本发明的工作流程示意图;
图2是自动化备份步骤示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明针对部署在公有云环境上的数据库实例,基于Ansible自动化运维管理工具编写自动化备份脚本,针对多数据库实例实现自动化备份的管理。
前提条件:
(1)部署在公有云环境中的数据库实例能够正常运行。
(2)数据库实例的集群状态正常。
(3)数据库实例所在环境与存储网络互通。
具体步骤:
(一)整体步骤:具体流程见图1:
(1)公有云数据库实例控制台判断实例的集群状态是否正常,正常执行步骤 (2),不正常返回异常信息到控制台给用户。
(2)控制台发送备份功能的命令给Ansible执行器。Ansible执行器是专门处理Ansible脚本的模块,功能是下载数据库实例特定版本的脚本,执行Ansible命令。
(3)Ansible执行器下载自动化模板脚本文件。根据不同的数据库实例的版本,下载相应版本的自动化模板脚本文件。
(4)Ansible执行器执行备份脚本。备份脚本流程参见自动化备份步骤。
(5)执行器返回备份文件给控制台,展示备份文件大小等相关信息。
(二)自动化备份步骤:具体流程见图2
(1)查找数据库实例的SLAVE备份节点。
(2)检查步骤(1)找到的备份节点的数据库连接性,是否能正常执行select 语句,以及主从备份是否正常,正常执行步骤(3),不正常退出。
(3)创建备份日志目录,便于查找备份错误日志。
(4)执行XtraBackup命令备份MySQL数据库,通过shell管道压缩备份文件成gzip格式,并同时通过Swift client命令上传到对象存储空间。
(5)保存输出的备份日志,清理过期的备份日志,仅保留较新的日志,防止日志占用较多磁盘。
(6)从Swift对象存储获取数据库备份文件大小,用于返回控制台展示。
本发明通过对Ansible工具的使用和封装,可以实现云数据库自动化备份,相比较人工手动执行备份命令,减少手动备份的误操作风险。
利用XtraBackup备份工具优点和Swift特性,边压缩备份文件边上传,备份的同时将备份文件上传到Swift对象存储,实现备份文件不落本地盘,节省本地磁盘空间。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种基于Ansible的MySQL数据库自动化备份方法,其特征在于,
通过借助Ansible工具进行脚本化备份功能编排,对MySQL数据库进行备份功能管理,包括数据库数据的备份、备份文件的压缩,备份文件上传功能。
2.根据权利要求1所述的方法,其特征在于,
Ansible备份功能中数据库数据的备份,包括
查找数据库实例的专用备份节点;
在专用备份节点运行正常的情况下进行XtraBackup备份。
3.根据权利要求2所述的方法,其特征在于,
运行正常包括数据库运行状态以及SLAVE的IO线程和SQL线程运行状态。
4.根据权利要求1所述的方法,其特征在于,
数据库备份文件压缩成gzip流的形式,通过shell管道技术,将备份文件压缩同时进行Swift upload命令上传到分布式对象存储。
5.根据权利要求1所述的方法,其特征在于,
备份文件压缩和上传功能,用于除MySQL数据备份文件的其它数据库类型的备份文件,上传到对象存储。
6.根据权利要求1所述的方法,其特征在于,
主要包括三部分;
1)通过Ansible脚本批量执行备份功能;
2)对数据库集群专用SLAVE备份节点进行备份;
3)边备份边压缩文件边进行上传到对象存储。
7.根据权利要求6所述的方法,其特征在于,
在MySQL数据库实例正常运行条件下,用户数据库实例控制台操作备份功能,执行底层Ansible备份数据库脚本,查找专用备份节点执行XtraBackup备份操作,将数据库备份文件上传到Swift对象存储,备份成功同时返回数据库实例备份文件大小信息。
8.根据权利要求7所述的方法,其特征在于,
具体步骤如下:
(1)公有云数据库实例控制台判断实例的集群状态是否正常,正常执行步骤(2),不正常返回异常信息到控制台给用户;
(2)控制台发送备份功能的命令给Ansible执行器;Ansible执行器是专门处理Ansible脚本的模块,功能是下载数据库实例特定版本的脚本,执行Ansible命令;
(3)Ansible执行器下载自动化模板脚本文件;根据不同的数据库实例的版本,下载相应版本的自动化模板脚本文件;
(4)Ansible执行器执行备份脚本;
(5)执行器返回备份文件给控制台,展示备份文件相关信息。
9.根据权利要求8所述的方法,其特征在于,
备份脚本流程如下:
(1)查找数据库实例的SLAVE备份节点;
(2)检查步骤(1)找到的备份节点的数据库连接性,是否能正常执行select语句,以及主从备份是否正常,正常执行步骤(3),不正常退出;
(3)创建备份日志目录,便于查找备份错误日志;
(4)执行XtraBackup命令备份MySQL数据库,通过shell管道压缩备份文件成gzip格式,并同时通过Swift client命令上传到对象存储空间;
(5)保存输出的备份日志,清理过期的备份日志,仅保留较新的日志,防止日志占用较多磁盘;
(6)从Swift对象存储获取数据库备份文件大小,用于返回控制台展示。
CN201911041920.7A 2019-10-30 2019-10-30 一种基于Ansible的MySQL数据库自动化备份方法 Pending CN110795420A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911041920.7A CN110795420A (zh) 2019-10-30 2019-10-30 一种基于Ansible的MySQL数据库自动化备份方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911041920.7A CN110795420A (zh) 2019-10-30 2019-10-30 一种基于Ansible的MySQL数据库自动化备份方法

Publications (1)

Publication Number Publication Date
CN110795420A true CN110795420A (zh) 2020-02-14

Family

ID=69442115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911041920.7A Pending CN110795420A (zh) 2019-10-30 2019-10-30 一种基于Ansible的MySQL数据库自动化备份方法

Country Status (1)

Country Link
CN (1) CN110795420A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651302A (zh) * 2020-07-01 2020-09-11 中国银行股份有限公司 分布式数据库备份方法,装置及系统
CN112084170A (zh) * 2020-08-12 2020-12-15 上海维信荟智金融科技有限公司 基于ansiable的mysql-mha集群一键部署方法及系统
CN112256483A (zh) * 2020-10-30 2021-01-22 浪潮云信息技术股份公司 一种SQL Server云数据库备份方法
CN112540875A (zh) * 2020-12-11 2021-03-23 四川新网银行股份有限公司 一种基于xtrabackup的mysql数据库备份、恢复校验可用性的方法
CN112685503A (zh) * 2021-01-04 2021-04-20 上海圣剑网络科技股份有限公司 基于自动化运维工具的数据处理方法、装置及系统
CN112988466A (zh) * 2021-04-07 2021-06-18 中国联合网络通信集团有限公司 数据备份方法、装置、设备、存储介质及程序产品
CN113467994A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 一种数据备份方法、系统及电子设备、存储介质
CN113742360A (zh) * 2021-08-09 2021-12-03 广州市易工品科技有限公司 基于元数据快速生成异构数据库sql脚本方法和装置
CN116049136A (zh) * 2022-12-21 2023-05-02 广东天耘科技有限公司 基于云计算平台的MySQL集群部署方法和系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041679B1 (en) * 2008-06-04 2011-10-18 Symantec Operating Corporation Synthetic differential backups creation for a database using binary log conversion
US20130318044A1 (en) * 2010-07-27 2013-11-28 Oracle International Corporation Mysql database heterogeneous log based replication
CN103488546A (zh) * 2013-01-29 2014-01-01 中国人民解放军理工大学 一种支持多级别数据和数据库在线并发备份与恢复方法
CN105159943A (zh) * 2015-08-07 2015-12-16 北京思特奇信息技术股份有限公司 一种分布式数据库自动化备份方法及系统
CN105630630A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 数据热备份方法及系统
CN106506215A (zh) * 2016-11-11 2017-03-15 郑州云海信息技术有限公司 一种基于cmdb的自动化运维系统
CN106648771A (zh) * 2016-12-12 2017-05-10 武汉烽火信息集成技术有限公司 一种Openstack云平台自定义部署系统及部署方法
CN106713409A (zh) * 2016-10-21 2017-05-24 中国电信集团系统集成有限责任公司 一种基于SaaS的云灾备系统及方法
CN110019118A (zh) * 2017-09-28 2019-07-16 广东亿迅科技有限公司 基于DevOps提升数据库运维效率的系统及其方法
CN110276594A (zh) * 2019-06-21 2019-09-24 深圳前海微众银行股份有限公司 一种基于Ansible的银行业务运维系统及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041679B1 (en) * 2008-06-04 2011-10-18 Symantec Operating Corporation Synthetic differential backups creation for a database using binary log conversion
US20130318044A1 (en) * 2010-07-27 2013-11-28 Oracle International Corporation Mysql database heterogeneous log based replication
CN103488546A (zh) * 2013-01-29 2014-01-01 中国人民解放军理工大学 一种支持多级别数据和数据库在线并发备份与恢复方法
CN105159943A (zh) * 2015-08-07 2015-12-16 北京思特奇信息技术股份有限公司 一种分布式数据库自动化备份方法及系统
CN105630630A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 数据热备份方法及系统
CN106713409A (zh) * 2016-10-21 2017-05-24 中国电信集团系统集成有限责任公司 一种基于SaaS的云灾备系统及方法
CN106506215A (zh) * 2016-11-11 2017-03-15 郑州云海信息技术有限公司 一种基于cmdb的自动化运维系统
CN106648771A (zh) * 2016-12-12 2017-05-10 武汉烽火信息集成技术有限公司 一种Openstack云平台自定义部署系统及部署方法
CN110019118A (zh) * 2017-09-28 2019-07-16 广东亿迅科技有限公司 基于DevOps提升数据库运维效率的系统及其方法
CN110276594A (zh) * 2019-06-21 2019-09-24 深圳前海微众银行股份有限公司 一种基于Ansible的银行业务运维系统及方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651302A (zh) * 2020-07-01 2020-09-11 中国银行股份有限公司 分布式数据库备份方法,装置及系统
CN111651302B (zh) * 2020-07-01 2023-11-21 中国银行股份有限公司 分布式数据库备份方法,装置及系统
CN112084170A (zh) * 2020-08-12 2020-12-15 上海维信荟智金融科技有限公司 基于ansiable的mysql-mha集群一键部署方法及系统
CN112256483A (zh) * 2020-10-30 2021-01-22 浪潮云信息技术股份公司 一种SQL Server云数据库备份方法
CN112540875B (zh) * 2020-12-11 2023-06-06 四川新网银行股份有限公司 一种基于xtrabackup的mysql数据库备份、恢复校验可用性的方法
CN112540875A (zh) * 2020-12-11 2021-03-23 四川新网银行股份有限公司 一种基于xtrabackup的mysql数据库备份、恢复校验可用性的方法
CN112685503A (zh) * 2021-01-04 2021-04-20 上海圣剑网络科技股份有限公司 基于自动化运维工具的数据处理方法、装置及系统
CN112988466A (zh) * 2021-04-07 2021-06-18 中国联合网络通信集团有限公司 数据备份方法、装置、设备、存储介质及程序产品
CN113467994A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 一种数据备份方法、系统及电子设备、存储介质
CN113742360A (zh) * 2021-08-09 2021-12-03 广州市易工品科技有限公司 基于元数据快速生成异构数据库sql脚本方法和装置
CN113742360B (zh) * 2021-08-09 2023-12-29 广州市易工品科技有限公司 基于元数据快速生成异构数据库sql脚本方法和装置
CN116049136A (zh) * 2022-12-21 2023-05-02 广东天耘科技有限公司 基于云计算平台的MySQL集群部署方法和系统
CN116049136B (zh) * 2022-12-21 2023-07-28 广东天耘科技有限公司 基于云计算平台的MySQL集群部署方法和系统

Similar Documents

Publication Publication Date Title
CN110795420A (zh) 一种基于Ansible的MySQL数据库自动化备份方法
US11513926B2 (en) Systems and methods for instantiation of virtual machines from backups
CN101477543B (zh) 用于自动化etl应用的系统和方法
JP7389104B2 (ja) データベースの第1のバージョンから第2のバージョンへのアップグレード
CN107026760B (zh) 一种故障修复方法及监控节点
CN102981931B (zh) 虚拟机备份方法及装置
US20160162283A1 (en) Dependency manager for databases
US10635473B2 (en) Setting support program, setting support method, and setting support device
EP3019976A1 (en) Dynamic migration script management
CN106777126B (zh) 一种支持异构时序数据库的数据在线迁移方法
CN110895488B (zh) 任务调度方法及装置
CN110225078B (zh) 一种应用服务更新方法、系统及终端设备
CN105573859A (zh) 一种数据库的数据恢复方法和设备
CN110019138A (zh) 一种基于Zabbix的传输表空间自动迁移方法和系统
CN114968966A (zh) 分布式元数据远程异步复制方法、装置和设备
CN111158956A (zh) 一种集群系统的数据备份方法及相关装置
CN114328009A (zh) 基于虚拟化和快照的异构数据库统一容灾备份方法和装置
CN116540942A (zh) 数据存储对象的迁移方法、系统、电子设备及存储介质
US20040255201A1 (en) System and method for performing product tests utilizing a single storage device
US20230066698A1 (en) Compute instance warmup operations
CN111177116B (zh) 一种数据库智能管理平台及其管理方法
CN114610539A (zh) 一种MongoDB数据库备份方法及装置
CN113656358A (zh) 一种数据库日志文件处理方法及系统
CN117034366A (zh) 一种云原生非停机升级的保持数据完整性方法及其应用
US20240126660A1 (en) File-based asynchronous and failsafe execution in cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200214