windows下使用mysqldump备份数据库并上传到阿里云OSS
使用 mysqldump 备份表
powershell 下使用 | Out-file -Encoding utf8 设置字符格式
.\mysqldump.exe --single-transaction --user=root --password=123456 --host 127.0.0.1 --port 3306 --default-character-set=utf8 --hex-blob --routines --events "database_name" | Out-file -Encoding utf8 test1.sql
cmd
mysqldump.exe --single-transaction --user=root --password=123456 --host 127.0.0.1 --port 3306 --default-character-set=utf8 --hex-blob --routines --events "database_name" > test1.sql
参数说明
--single-transaction 不阻塞程序的情况下保证导出数据一致性,InnoDB 支持
--default-character-set 设置字符集
--hex-blob 转换 bit 类型
--routines 导出存储过程以及自定义函数
--events 导出事件
使用 OSSUtil 工具上传备份数据
- 下载
ossutil
工具:下载并安装命令行工具ossutil_对象存储(OSS)-阿里云帮助中心 (aliyun.com)
-
配置
ossutil
工具:下载并安装命令行工具ossutil_对象存储(OSS)-阿里云帮助中心 (aliyun.com) -
测试上传文件
ossutil64 cp .\images\download_ossutil.png oss://bucket-name/download_ossutil.png
使用 windows 任务计划程序执行定时备份
-
编写备份脚本
@echo off echo ****** MySQL backup start ****** ::设置时间变量 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" ::设置文件保存位置 set "BucketName=bucket-name" set "SavePath=%temp%\backup_%Ymd%.sql" ::进入mysql安装目录bin目录 cd D:\dev\sql\mysql-8.3.0-winx64\bin ::执行备份操作 mysqldump.exe --single-transaction --user=root --password=123456 --host 127.0.0.1 --port 3306 --default-character-set=utf8 --hex-blob --routines --events "database_name" > %SavePath% echo ****** Upload to OSS ****** ::上传到 阿里云OSS D:\dev\oss\ossutil-v1.7.19-windows-amd64\ossutil64.exe cp %SavePath% oss://%BucketName%/backup_%Ymd%.sql ::移除文件 del /f /s /q %SavePath% echo ****** MySQL backup end ****** @echo on
-
创建任务
-
打开 任务计划程序
-
创建基本任务
-
设置任务启动脚本
-
完成设置
-
-
引用链接
mysqldump 参数说明:MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结
ossutil 使用文档:ossutil概述_对象存储(OSS)-阿里云帮助中心 (aliyun.com)