使用 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 工具上传备份数据

  1. 下载 ossutil 工具:下载并安装命令行工具ossutil_对象存储(OSS)-阿里云帮助中心 (aliyun.com)

image

  1. 配置 ossutil 工具:下载并安装命令行工具ossutil_对象存储(OSS)-阿里云帮助中心 (aliyun.com)

  2. 测试上传文件

    ossutil64 cp .\images\download_ossutil.png oss://bucket-name/download_ossutil.png
    

使用 windows 任务计划程序执行定时备份

  1. 编写备份脚本

    @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
    
    1. 创建任务

      • 打开 任务计划程序

      • 创建基本任务

        image

      • 设置任务启动脚本

        image

      • 完成设置

        image

引用链接

mysqldump 参数说明:MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结

ossutil 使用文档:ossutil概述_对象存储(OSS)-阿里云帮助中心 (aliyun.com)