CV工程师
2022-11-16 03:36:23 阅读:287
记录一下Windows下如何定时备份mysql。
之前在Linux下导出mysql的命令是:mysqldump
,于是想到Windows下应该差不多,找到Windows下mysql的安装目录:C:\Program Files\MySQL\MySQL Server 8.0\bin\
,发现目录下有 mysqldump.exe,于是输入命令:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump" -uroot -p123456 --databases test > test.sql
发现报错:
Using a password on the command line interface can be insecure.
解决方式:
创建一个PASSWORD.txt
文件:
[client]
user=root
password=123456
把上面的命令修改为:
//一定要在PASSORD同级目录下执行cmd
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump" --defaults-extra-file=PASSWORD.txt --databases test > test.sql
到此,命令就已经完成。
有了命令以后就需要把命令转换成脚本,Windows中有一种批命令的脚本,bat结尾的文件,类似于Linux中的.sh,在这个文件夹中,我们稍微优化一下命令:
@echo off
set back_path=F:\mysqlBackup
set dbname=Test
set backupfile=%back_path%\%dbname%-%now%.sql
set hour=%Time:~0,2%
if "%Time:~0,1%"==" " set hour=0%Time:~1,1%
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump" --defaults-extra-file=PASSWORD.txt --databases %dbname% > %backupfile%
在PASSWORD.txt同级目录下新建一个文本文档(txt),然后重命名为:backup.bat,右键编辑把上面的代码粘贴进去,注意要修改back_path
和dbname
,编辑保存后双击即可备份数据库了。
back_path:当前目录地址 dbname:数据库名
写好脚本以后我们只需要让这个脚本每天凌晨自动执行一次就好了。
控制面板 -> 管理工具 -> 任务计划程序 -> 创建任务
常规:名称随便写,下面要勾选 不管用户是否登陆都要运行 触发器:新建 -> 每天 -> 时间设置到03:00 -> 确定 操作:新建 -> 程序或脚本 -> 浏览 -> 选择刚才创建的backup.bat
确定 -> 输入密码 -> ok
这样每天凌晨三点都会自动备份了,如果是在Linux下安装宝塔就可以可视化一键设置自动备份了,Windows下倒是不知道有什么好用的服务器管理工具了。小皮面板(phpstudy)似乎没有自动备份的功能。
评论
扫描二维码获取文章详情
更多精彩内容尽在:WWW.ZNGG.NET