定时备份 MySQL 数据库至 Backblaze B2」的摘要信息

最近自己搞了点新业务,使用上了由百度开源的 AMIS 框架,该框架一大特点就是通过 json 配置的方式制作出界面。为此我开发了个轻量的管理后台,使用 MySQL 保存配置好的 json 内容,并在 AMIS 框架页面加载时,实时通过 API 从 MySQL 中取出对应的页面配置并进行渲染。因此 MySQL 中的内容显得十分重要,务必保证数据不丢或在故障时可以快速恢复。 然而为了节约成本,MySQL实例在业务初期并非购买的云服务,而选择了自建,在数据备份方面使用了一个较为“土”的方法,定时通过 mysqldump 导出内容,并上传至 Backblaze B2 中。关于 B ackblaze B2 这里不做过多的展开,可以简单理解成类似于阿里云OSS、腾讯云COS、AWS S3 的对象存储服务,并提供了配套的 CLI 工具。具体我的备份脚本如下: #!/bin/bash # MySQL数据库配置 DB_USER="your_mysql_username" DB_PASSWORD="your_mysql_password" DB_HOST="localhost" # 或者你的MySQL服务器地址 DB_PORT="3306" # 如果不是默认端口,请更改 BACKUP_DIR="/path/to/your/backup/directory" B2_ACCOUNT_ID="your_b2_account_id" B2_APPLICATION_KEY="your_b2_application_key" B2_BUCKET_NAME="your_b2_bucket_name" # 创建备份文件名 TIMESTAMP=$(date +"%Y%m%d%H%M%S") BACKUP_FILE="${BACKUP_DIR}/mysql-backup-${TIMESTAMP}.sql.gz...