MySql在Windows下手动、自动备份数据库(mysqldump)
本文实例环境及版本 MySql5.7.20
一、手动备份
cmd 先进入mysql所在的bin目录下,如:cd C:\Program Files\MySQL\MySQL Server 5.7\bin
mysqldump -u root -p 数据库 [表名1 表名2..] > 文件路径
如把yderpdb数据库备份到 D:\ydTest.sql 输入密码后回车
mysqldump -u root -p yderpdb>d:ydTest.sql
如果你希望备份是,数据库的某几张表
mysqldump -u root -p yderpdb crm_orderform crm_user>d:ydTest.sql
要实现数据库的自动备份就需要一下两步:
1、利用MySQL提供的备份命令mysqldump
2、结合Windows的任务计划程序
二、编写脚本
@echo off echo 设置MySql数据库的连接信息 set host=127.0.0.1 set port=3306 set user=你的mysql账户
set pass=你的账户密码
echo 设置要备份的MySql数据库名称 set dbname=yderpdb echo 获取当天的日期格式,例如:20200902231300 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=D:\MySqlBackup\%dbname%-%backup_date%.sql echo 使用mysqldump对指定的MySql进行备份 echo 注意路径中有空格的要加上双引号 "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile% echo 删除过期文件,这里是超过30天就删除 forfiles /p D:\MySqlBackup /s /m *.sql /d -30 /c "cmd /c del @file /f"
保存文件如:BackupMysql.bat
三、创建定时任务
1、 控制面板->管理工具->任务计划程序->创建基本任务
2、创建基本任务
3、 选择触发器
4、选择开始执行的时间
5、选择要执行的脚本文件,点击确认完成
至此,在Windows环境下自动备份MySQL的设置就全部完成了。
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。