2024年软件测试最新生产环境-数据库备份方案_生产环境如何备份数据库,软件测试培训那里好

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

date_now=KaTeX parse error: Expected 'EOF', got '#' at position 117: …zero\_customs" #̲定义备份文件名 fileNam…{db_name}_KaTeX parse error: Expected 'EOF', got '#' at position 18: …ate\_now}.sql" #̲定义备份文件目录 backUp…{backUpFolder}/ d a t e _ s i m p l e / {date\_simple}/ date_simple/{fileName}"
echo "starting backup mysql ${db_name} at d a t e _ n o w . " d o c k e r e x e c − i t m y s q l m a s t e r / u s r / b i n / m y s q l d u m p − u {date\_now}." docker exec -it mysqlmaster /usr/bin/mysqldump -u date_now."dockerexecitmysqlmaster/usr/bin/mysqldumpu{username} -p${password} --lock-all-tables --flush-logs ${db_name} > ${backUpFileName}
#进入到备份文件目录
cd b a c k U p F o l d e r / {backUpFolder}/ backUpFolder/{date_simple}
#压缩备份文件
tar zcvf ${fileName}.tar.gz ${fileName}
rm -rf ${fileName}

use nodejs to upload backup file other place

#NODE_ENV= b a c k U p F o l d e r @ backUpFolder@ backUpFolder@backUpFileName node /home/tasks/upload.js
date_end=$(date “+%Y%m%d-%H%M%S”)
echo “finish backup mysql database ${db_name} at ${date_end}.”

date_now=KaTeX parse error: Expected 'EOF', got '#' at position 118: …ero\_platform" #̲定义备份文件名 fileNam…{db_name}_KaTeX parse error: Expected 'EOF', got '#' at position 18: …ate\_now}.sql" #̲定义备份文件目录 backUp…{backUpFolder}/ d a t e _ s i m p l e / {date\_simple}/ date_simple/{fileName}"
echo "starting backup mysql ${db_name} at d a t e _ n o w . " d o c k e r e x e c − i t m y s q l m a s t e r / u s r / b i n / m y s q l d u m p − u {date\_now}." docker exec -it mysqlmaster /usr/bin/mysqldump -u date_now."dockerexecitmysqlmaster/usr/bin/mysqldumpu{username} -p${password} --lock-all-tables --flush-logs ${db_name} > ${backUpFileName}
#进入到备份文件目录
cd b a c k U p F o l d e r / {backUpFolder}/ backUpFolder/{date_simple}
#压缩备份文件
tar zcvf ${fileName}.tar.gz ${fileName}
rm -rf ${fileName}

use nodejs to upload backup file other place

#NODE_ENV= b a c k U p F o l d e r @ backUpFolder@ backUpFolder@backUpFileName node /home/tasks/upload.js
date_end=$(date “+%Y%m%d-%H%M%S”)
echo “finish backup mysql database ${db_name} at ${date_end}.”


#### 2.恢复全量备份



mysql -h localhost -uroot -proot < bakdup.sql


或者



mysql> source /path/backup/bakdup.sql


在恢复全量备份之后,要将全量备份之后的增量备份也恢复回数据库中。


#### 3.定时备份


输入如下命令,进入 crontab 定时任务编辑界面:



crontab -e


添加如下命令,其意思为:每分钟执行一次备份脚本:



          • sh /usr/your/path/mysqlBackup.sh

每五分钟执行 :



*/5 * * * * sh /usr/your/path/mysqlBackup.sh


每小时执行:



0 * * * * sh /usr/your/path/mysqlBackup.sh


每天执行:



0 0 * * * sh /usr/your/path/mysqlBackup.sh


每周执行:



0 0 * * 0 sh /usr/your/path/mysqlBackup.sh


每月执行:



0 0 1 * * sh /usr/your/path/mysqlBackup.sh


每年执行:



0 0 1 1 * sh /usr/your/path/mysqlBackup.sh


重启crontab



service crond restart


### 三、增量备份


首先在进行增量备份之前需要查看一下配置文件,查看 log\_bin 是否开启,因为要做增量备份首先要开启 log\_bin 。首先,进入到 myslq 命令行,输入如下命令:



show variables like ‘%log_bin%’;


如下命令所示,则为未开启



mysql> show variables like ‘%log_bin%’;
±--------------------------------±------+
| Variable_name | Value |
±--------------------------------±------+
| log_bin | OFF |
| log_bin_basename | |
| log_bin_index | |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
±--------------------------------±------+


#### 1.修改配置文件,开启日志记录


编辑Mysql配置文件my.ini或者docker.cnf



[mysqld]
lower_case_table_names=1
max_connections=2000
server-id=1
log-bin=master-bin #只是读写,就只要主库配置即可.如果要做主从切换,那么主库和从库都需要开启.
skip-host-cache
skip-name-resolve
collation-server = utf8_unicode_ci
init-connect=‘SET NAMES utf8’
slave_skip_errors=1032
character-set-server = utf8
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8


修改之后,重启 mysql 服务,输入:



show variables like ‘%log_bin%’;


状态如下



mysql> show variables like ‘%log_bin%’;
±--------------------------------±-------------------------------+
| Variable_name | Value |
±--------------------------------±-------------------------------+
| log_bin | ON |
| log_bin_basename | /var/lib/mysql/mysql-bin |
| log_bin_index | /var/lib/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
±--------------------------------±-------------------------------+


#### 2.增量备份脚本文件



img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

g-U4rImq0s-1715233850942)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值