Windows下手动、自动备份Mysql数据库
(本文实例环境及版本 MySql8.0.13)
一、手动备份
1.1 命令行备份
cmd 先进入mysql所在的bin目录下,如:cd D:\software\mysql\mysql-8.0.13-winx64\bin
mysqldump -u root -p 数据库 [表名1 表名2…] > 文件备份路径
如把testdb数据库备份到 D:\ydTest.sql 输入密码后回车
mysqldump -u root -p testdb > d:ydTest.sql
如果你希望备份是,数据库的某几张表
mysqldump -u root -p testdb crm_orderform crm_user>d:ydTest.sql
1.2 通过第三方工具备份(Navicat)
二、自动备份
要实现数据库的自动备份就需要一下两步:
1、利用MySQL提供的备份命令mysqldump
2、结合Windows的任务计划程序
2.1、编写备份脚本
@echo off
echo 设置MySql数据库的连接信息
set host=127.0.0.1
set port=3306
set user=root
set pass=xxxxxx
echo 设置要备份的MySql数据库名称
set dbname=testdb
echo 获取当天的日期格式,例如:2022122031300
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%
echo 设置备份文件的路径
set backupfile=F:\backData\%dbname%-%backup_date%.sql
echo 使用mysqldump对指定的MySql进行备份
echo 注意路径中有空格的要加上双引号
"D:\software\mysql\mysql-8.0.13-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
echo 删除过期文件,这里是超过30天就删除
forfiles /p F:\backData /s /m *.sql /d -30 /c "cmd /c del @file /f"
保存文件如:backupMysql.bat
2.2 windows 创建定时任务
1、 控制面板->管理工具->任务计划程序->创建基本任务
2、创建基本任务
3、点击下一步,选择定时任务触发器
4、选择开始执行的时间
5、选择要执行的脚本文件,点击确认完成
6、测试是否配置成功,打开任务程序计划库,直接右键然后点击运行即可测试,运行完成后打开备份文件夹查看是否生成了备份的sql文件;点击属性可修改任务执行时间。
至此,在Windows环境下自动备份MySQL的设置就全部完成了