# Windows下手动、自动备份Mysql数据库(mysqldump、Navicat) >(本文实例环境及版本 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 输入密码后回车 ```bash mysqldump -u root -p testdb > d:ydTest.sql ```  如果你希望备份是,数据库的某几张表 ```bash mysqldump -u root -p testdb crm_orderform crm_user>d:\ydTest.sql ``` ### 1.2 通过第三方工具备份(Navicat)  二、自动备份 ------ 要实现数据库的自动备份就需要一下两步: 1、利用MySQL提供的备份命令mysqldump 2、结合Windows的任务计划程序 ### 2.1、编写备份脚本 ```bash @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的设置就全部完成了