win10系统和docker下的mysql数据库备份

前 言

       突然有一天当你看到这个界面你是否会感到惊慌和无助?

图片

希望答案是否。

因为我有备份!!!

下面谈谈mysql在win10系统自动备份以及使用docker安装的mysql的自动备份过程。

01 win10系统mysql自动备份

首先编写一个定时备份mysql数据库.bat脚本以及在C盘新建一个backup文件夹(因为虚拟机只有C盘,实际建议用其他盘)

cd C:\soft\mysql-8.0.30-winx64\bin: 这条命令用于将当前目录更改为 MySQL 的安装目录下的 bin 文件夹,确保脚本能执行 mysqldump 命令,如果不执行切换目录命令可能备份的文件是空的。

-ucyl: 指定要连接 MySQL 的用户名为 cyl。

-p123456: 指定连接 MySQL 的密码为 123456。

edge_comput: 这是要备份的数据库名。

>C:\backup\backup_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql。

> 符号用于将命令输出重定向到 C:\backup 文件夹下,文件名格式为 backup_日期_时间.sql。

%date:~0,4%%date:~5,2%%date:~8,2%  %time:~0,2%%time:~3,2%%time:~6,2% 是用于获取日期和时间的批处理变量。

图片

手动执行一下bat脚本,则在C盘的backup文件夹下出现备份文件。 

图片

下面利用win10自带的任务计划程序来实现定时备份数据库,按下 Win + R 键,然后输入 "taskschd.msc" ,点击 "创建基本任务"按钮,输入任务的名称和描述。 

图片

在任务触发器设置中,选择设置计划任务运行的时间和频率。 

图片

图片

在操作设置中,选择运行程序并指定之前创建的批处理脚本的路径。 

图片

在完成向导后,点击 "完成"按钮,这样就可以用定时任务来自动备份 MySQL 数据库。 

图片

02 使用docker安装的mysql的数据备份

在终端命令中输入:mkdir /backup  创建一个backup文件夹

执行docker ps  查看正在运行的容器 其中NAMES:容器的名字 

图片

执行:docker exec  mysql mysqldump -uroot -p123456 edge_comput > /backup/edge_comput_$(date +%Y%m%d%H%M%S).sql

其中:

 docker exec: 用于在运行中的容器内部执行命令。

 mysql: 这是要执行命令的容器的名称,即上面提到的NAMES。

 mysqldump -uroot -p123456 edge_comput: 这是实际要在容器内执行的命令。

 > /backup/edge_comput_$(date +%Y%m%d%H%M%S).sql

$(date +%Y%m%d%H%M%S)是一个命令替换,用于将当前的日期和时间附加到文件名后面。

输入:crontab -e 进入定时任务编辑界面

分别设置每5分钟执行一次和每天零点执行一次 

图片

图片

以上是对win10和docker安装mysql进行数据备份的一个介绍,希望对大家有所帮助。

图片

作者简介:

曹言林:加入工控八余载,从事过单片机编程、控制柜接线、设备维修,PLC编程、上位机编程、MES实施。对各方面虽不是专家级别,也愿为工控圈添砖加瓦,贡献自己的一份力量。

2023年8月

图片