问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用Mysqldump和Xtrabackup两种方式并发备份数据库

发布网友 发布时间:2024-09-17 01:55

我来回答

1个回答

热心网友 时间:2024-10-17 17:23

参考链接如下:

(1) xtrabackup下载参考链接

(2) Mysql5.7安装参考链接

(3) Mysql5.7版本下载参考链接

主要以Shell方式在Centos7.9操作系统上编写脚本。脚本大概思路是分别采用mysqlmp和xtrabackup方式进行并发数据库备份,其中xtrabackup方式备份相对于mysqlmp备份快一些。其中因环境差异问题,这里Mysqlmp并发备份环境为mysql5.6;Xtrabackup并发备份环境为mysql5.7,这里可以选择mysql5.7作为通用环境。

二、脚本思路2.1 Mysqlmp并发备份
1.定义登录用户、密码、备份目录为相关变量

2.提取所有库,并使用for循环语句结合Mysqlmp进行备份

3.把临时备份文件压缩成tar.gz结尾的文件

4.删除临时备份文件

2.2 Xtrabackup并发备份

1.定义登录用户、密码、备份目录为相关变量

2.提取所有库,并使用for循环语句结合Xtrabackup进行备份

3.把备份情况及备份时间输出到一个指定文件

三、准备工作3.1 安装mysql5.7

1.卸载mariadb

(1)检查系统是否已安装Mysql。返回值为空,代表没有安装Mysql。

(2)执行rpm -qa | grep mariadb命令查看Centos7默认安装数据库mariadb。

(3)执行rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64命令卸载默认数据库mariadb

(4)再次执行rpm -qa | grep mariadb命令查看Centos7默认安装数据库mariadb是否卸载掉,这里观察到卸载完成。

2.检查系统是否安装过mysql

(1)检查系统是否安装过mysql

(2)检查安装mysql路径

(3)删除mysql路径

3.检查有无创建mysql 用户组

(1)查看有无创建mysql 用户组

(2)若没创建,进行创建

4.下载5.7.24压缩包

5.解压5.7.24压缩包

6.为了方便输入,将解压后的包名修改为mysql5.7

7.更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限

8.编译安装并初始化mysql,此时会产生一个初始登录密码,这里为DuXLp5N=;3D?

9.编写etc目录下的my.cnf 配置文件,并添加配置。默认是不存在的。

10.修改/opt/mysql5.7/support-files/mysql.server为/opt/mysql5.7安装目录

11.启动mysql

(1)启动mysql

(2)添加软链接

(3)重启mysql

12.mysql操作

(1)登录mysql,这里的密码就是上面初始mysql产生的密码

(2)设置登录密码

13.开放远程连接

(1)切换mysql库

(2)授予 MySQL 数据库的 root 用户远程访问权限的情况下非常有用。默认情况下,MySQL 仅允许来自本地主机的连接,因此将 Host 值更改为 '%' 允许 root 用户从任何位置连接。

(3)刷新权限

14.设置开机自启

(1)拷贝服务文件到/etc/init.d/下,并重命名为mysqld

(2)赋予可执行权限

(3)添加服务

(4)显示服务列表

15.安装完成后,创建库test

3.2 二进制安装Xtrabackup

1.下载压缩包

2.在/opt目录下解压压缩包

3.将上面解压的目录移动到/usr/local/下,并更名为xtrabackup

4.添加环境变量

5.重新加载/etc/profile

6.安装验证

3.3 安装依赖

1.安装perl-Digest-MD5依赖

如果不安装以上依赖,会发生以下报错

四、脚本编写4.1 Shell脚本4.1.1 Mysqlmp并发备份

1.编写shell脚本

上面mysqlmp参数说明如下:

上面split参数说明如下:

上面tar参数说明如下:

上面代码详细分析:

(1)定义备份文件名前缀,并将当前工作目录切换到备份目录。这段代码使用date命令生成一个以当前时间为前缀的备份文件名,并将备份目录切换为/data/mysql,如果该目录不存在则创建。

(2)获取需要备份的数据库列表。

(3)遍历数据库列表,使用mysqlmp备份并分片。使用for循环遍历所有需要备份的数据库,使用mysqlmp命令备份数据库,并通过split命令将备份结果分片,并以数据库名作为备份文件名的一部分。备份过程中使用&将任务放到后台并发执行。

(4)等待所有备份任务完成。

(5)打包备份文件并清理临时文件。使用tar命令将所有备份文件打包成一个压缩文件,并通过rm命令清理所有临时备份文件。

2.添加定时任务,每天凌晨1点定时执行脚本

3.结果验证

4.结果解压再次验证

4.1.2 Xtrabackup并发备份

1.编写shell脚本

上面xtrabackup参数说明如下:

上面代码详细分析:

(1)指定设置备份参数的变量。其中,MYSQL_USER 和 MYSQL_PASSWORD 是用于连接到 MySQL 服务器的凭据。BACKUP_DIR 是备份文件存储目录,THREADS 是用于备份的线程数。

(2)使用mysql 命令连接到 MySQL 服务器,并运行 SHOW DATABASES; 命令来获取所有数据库的列表。然后,使用 grep 命令过滤掉系统数据库,如 Database、information_schema 和 performance_schema。最后,将结果赋值给 DATABASES 变量。

(3)遍历所有数据库,对每个数据库进行备份。在循环内部,首先根据数据库名称创建备份目录。然后,使用xtrabackup 命令进行备份。该命令将备份所有数据库,并将备份文件存储在 TARGET_DIR 目录中。备份过程中会使用 MYSQL_USER 和 MYSQL_PASSWORD 变量来连接到 MySQL 服务器。--parallel=$THREADS 参数指定备份使用的线程数。最后,将备份完成的消息写入 description.txt 文件中。

2.添加定时任务,每天凌晨1点定时执行脚本

3.结果验证,这里只拿test1,其他类似。

上面文件说明如下:

五、排错总结5.1 报错一

1.执行service mysql restart命令报错

2.报错处理

热心网友 时间:2024-10-17 17:23

参考链接如下:

(1) xtrabackup下载参考链接

(2) Mysql5.7安装参考链接

(3) Mysql5.7版本下载参考链接

主要以Shell方式在Centos7.9操作系统上编写脚本。脚本大概思路是分别采用mysqlmp和xtrabackup方式进行并发数据库备份,其中xtrabackup方式备份相对于mysqlmp备份快一些。其中因环境差异问题,这里Mysqlmp并发备份环境为mysql5.6;Xtrabackup并发备份环境为mysql5.7,这里可以选择mysql5.7作为通用环境。

二、脚本思路2.1 Mysqlmp并发备份
1.定义登录用户、密码、备份目录为相关变量

2.提取所有库,并使用for循环语句结合Mysqlmp进行备份

3.把临时备份文件压缩成tar.gz结尾的文件

4.删除临时备份文件

2.2 Xtrabackup并发备份

1.定义登录用户、密码、备份目录为相关变量

2.提取所有库,并使用for循环语句结合Xtrabackup进行备份

3.把备份情况及备份时间输出到一个指定文件

三、准备工作3.1 安装mysql5.7

1.卸载mariadb

(1)检查系统是否已安装Mysql。返回值为空,代表没有安装Mysql。

(2)执行rpm -qa | grep mariadb命令查看Centos7默认安装数据库mariadb。

(3)执行rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64命令卸载默认数据库mariadb

(4)再次执行rpm -qa | grep mariadb命令查看Centos7默认安装数据库mariadb是否卸载掉,这里观察到卸载完成。

2.检查系统是否安装过mysql

(1)检查系统是否安装过mysql

(2)检查安装mysql路径

(3)删除mysql路径

3.检查有无创建mysql 用户组

(1)查看有无创建mysql 用户组

(2)若没创建,进行创建

4.下载5.7.24压缩包

5.解压5.7.24压缩包

6.为了方便输入,将解压后的包名修改为mysql5.7

7.更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限

8.编译安装并初始化mysql,此时会产生一个初始登录密码,这里为DuXLp5N=;3D?

9.编写etc目录下的my.cnf 配置文件,并添加配置。默认是不存在的。

10.修改/opt/mysql5.7/support-files/mysql.server为/opt/mysql5.7安装目录

11.启动mysql

(1)启动mysql

(2)添加软链接

(3)重启mysql

12.mysql操作

(1)登录mysql,这里的密码就是上面初始mysql产生的密码

(2)设置登录密码

13.开放远程连接

(1)切换mysql库

(2)授予 MySQL 数据库的 root 用户远程访问权限的情况下非常有用。默认情况下,MySQL 仅允许来自本地主机的连接,因此将 Host 值更改为 '%' 允许 root 用户从任何位置连接。

(3)刷新权限

14.设置开机自启

(1)拷贝服务文件到/etc/init.d/下,并重命名为mysqld

(2)赋予可执行权限

(3)添加服务

(4)显示服务列表

15.安装完成后,创建库test

3.2 二进制安装Xtrabackup

1.下载压缩包

2.在/opt目录下解压压缩包

3.将上面解压的目录移动到/usr/local/下,并更名为xtrabackup

4.添加环境变量

5.重新加载/etc/profile

6.安装验证

3.3 安装依赖

1.安装perl-Digest-MD5依赖

如果不安装以上依赖,会发生以下报错

四、脚本编写4.1 Shell脚本4.1.1 Mysqlmp并发备份

1.编写shell脚本

上面mysqlmp参数说明如下:

上面split参数说明如下:

上面tar参数说明如下:

上面代码详细分析:

(1)定义备份文件名前缀,并将当前工作目录切换到备份目录。这段代码使用date命令生成一个以当前时间为前缀的备份文件名,并将备份目录切换为/data/mysql,如果该目录不存在则创建。

(2)获取需要备份的数据库列表。

(3)遍历数据库列表,使用mysqlmp备份并分片。使用for循环遍历所有需要备份的数据库,使用mysqlmp命令备份数据库,并通过split命令将备份结果分片,并以数据库名作为备份文件名的一部分。备份过程中使用&将任务放到后台并发执行。

(4)等待所有备份任务完成。

(5)打包备份文件并清理临时文件。使用tar命令将所有备份文件打包成一个压缩文件,并通过rm命令清理所有临时备份文件。

2.添加定时任务,每天凌晨1点定时执行脚本

3.结果验证

4.结果解压再次验证

4.1.2 Xtrabackup并发备份

1.编写shell脚本

上面xtrabackup参数说明如下:

上面代码详细分析:

(1)指定设置备份参数的变量。其中,MYSQL_USER 和 MYSQL_PASSWORD 是用于连接到 MySQL 服务器的凭据。BACKUP_DIR 是备份文件存储目录,THREADS 是用于备份的线程数。

(2)使用mysql 命令连接到 MySQL 服务器,并运行 SHOW DATABASES; 命令来获取所有数据库的列表。然后,使用 grep 命令过滤掉系统数据库,如 Database、information_schema 和 performance_schema。最后,将结果赋值给 DATABASES 变量。

(3)遍历所有数据库,对每个数据库进行备份。在循环内部,首先根据数据库名称创建备份目录。然后,使用xtrabackup 命令进行备份。该命令将备份所有数据库,并将备份文件存储在 TARGET_DIR 目录中。备份过程中会使用 MYSQL_USER 和 MYSQL_PASSWORD 变量来连接到 MySQL 服务器。--parallel=$THREADS 参数指定备份使用的线程数。最后,将备份完成的消息写入 description.txt 文件中。

2.添加定时任务,每天凌晨1点定时执行脚本

3.结果验证,这里只拿test1,其他类似。

上面文件说明如下:

五、排错总结5.1 报错一

1.执行service mysql restart命令报错

2.报错处理
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
考数一英一的专硕可以调剂学硕吗 九推,怎样寻找捡漏的机会? 苏州朗悦湾小区周边配套怎么样? 田园风也能用兔宝宝顺芯板装修出来吗 兔宝宝是高端品牌吗?他一般用的是什么板材? 我家小猫被门夹了,后腿和尾巴都动不了了,医生说伤到了骨神经。说... 初一数学,求详细解题过程 初一数学,想很久都没想出来,请给位帮助一下,要详细过程 未来日记经典语录 如果去汇宝在线鉴定古玩瓷器在线交易,鉴定不合心意的话再鉴定还需要交... 图解MySQL|[原理解析]XtraBackup备份恢复时为什么要加apply-log-only... 测验等值的条件口诀 为什么iphone短信发不出去,显示iMessage 苹果手机imessage怎么发不出去短信啊 高手教你设置Excel中字符上标和下标的秘技 一款手机网游,很久之前玩得,造骑兵弓箭投石车之类的攻击单位,可以攻打... 为什么抖音关注了别人我的粉丝数会减少 内分泌失调持续长痘痘怎么办 怎么调理 内分泌失调,我脸上起好多粉刺,用什么药可以消除粉刺? 内分泌失调长痤疮怎么消除 大便粘腻是什么原因 黏腻的意思 描写粽子的诗句有哪些 英国伯明翰哪些大学 伯明翰城市大学研究生申请难不难 贷款人不还款怎么办?急? 怎么把爱奇艺会员给别人登录呢? 爱奇艺会员账号如何共享给好友 怎样把爱奇艺的会员账号密码分享给别人使用 爱奇艺会员可以共用吗 xtrabackup 恢复 其他计算机 MySQL主从切换简易指南mysql一主一从切换 想了解Xtrabackup备份原理和常见问题分析,看这篇就够了 巴士消毒液可以给孵蛋器消毒吗? 什么什么之家 皮肤过敏了,脸都肿了,还长了好多小痘痘,怎么办啊? 皮肤过敏严重,整张脸都肿了,有什么好的方法可以最快的消肿,请求安全最... 遇到前夫欠钱不还怎么办? 前夫欠钱5年不还钱怎么办? 前夫欠钱不还怎么处理 人脸识别总是失败怎么回事? XboxSeriesS日本售价 XBOX360在日本销售很惨淡,那价格会不会远低于中国大陆和香港呢?_百 ... XBOX360目前市面价是多少、听说时间越长价格升的快、这是真的吗、还有... 个人贷款的条件包括 下水管水泥堵塞如何疏通 每月印花税是什么意思 企业交印花税是什么 p53是什么意思 病理检测指标p53大揭秘(三)