mysql备份

这篇博客详细介绍了如何进行MySQL数据库的备份,包括停止MySQL服务,使用xcopy和WinRAR进行文件备份和压缩,以及通过批处理脚本实现定时备份。还提到了使用FORFILES命令删除旧备份,并展示了在Windows任务计划程序中设置定期备份任务的方法。此外,文中还提及了通过FTP将备份上传到远程服务器的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql备份  

       网络知识整理

      进行数据备份时, 一般需要暂停mysql 服务。备份完成后 再打开服务。 这是因为如果在数据库备份时, 有客户正在操作数据表,这时是不能复制的, 因为表被锁定。所以暂停mysql 服务 是安全完整备份的前提。除非你有确切把握,备份时不会有别人操作数据库的情况发生。 则可以不关闭暂停mysql 服务

rem net stop mysql
xcopy D:\cloudServer\heatvalley\PHPnow-1.5.6\MySQL-5.0.90\data\v3-all\*.* E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%\ /y
C:\progra~1\WinRAR\WinRAR.exe a -k -r -s E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%.rar E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%\
rd "E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%\" \S \Q
rem net start mysql

代码解释:
net stop mysql
    停止Mysql服务
xcopy D:\cloudServer\heatvalley\PHPnow-1.5.6\MySQL-5.0.90\data\v3-all\*.* E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%\ /y
     把v3-all数据库拷贝到E:\HuBinWorkBakeWD500\cloudServer\ 以v3-all时间命名的文件夹里
C:\progra~1\WinRAR\WinRAR.exe a -k -r -s E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%.rar E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%\
     调用winrar的命令行模式压缩刚刚拷贝出来的文件夹并保存在月份的文件夹下
rd "E:\HuBinWorkBakeWD500\cloudServer\v3-all%date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%\" \S \Q
     删除备份出来以日期命名的文件夹image,最后只保留一个压缩文件
net start mysql
     重新启动Mysql服务


一般情况下,我们手工备份MySQL数据库,会使用下面的命令:
 1. mysqldump --opt --add-locks -u root --password=xxxx db_name>x:/db_backup/db_name.sql
 2. mysqldump.exe "要备份的数据库名" -u(接用户名) -p(接密码) > "备份文件存放的路径及文件名"

  建立 db_bak.bat文件,也就是windows下常用的批处理文件.内容为:
 @echo
 mysqldump --opt --add-locks -u root --password=xxxx db_name>x:/db_backup/db_name.sql
然后保存,接下来在window 的定时任务中,定义windows的定时任务,每天备份多少次都可以.注意mysqldump.exe的路径要正确

删除7天以前备份的文件
FORFILES 命令 :
 FORFILES [/P pathname] [/M searchmask] [/S]
         [/C command] [/D [+ | -] {yyyy-MM-dd | dd}]
 方法1:
描述:可以删除7天以前的后缀名为log的日志文件。如今天是6.29,那么会删除6.22
号以前创建的文件。不会删除到回收站。
指定路径为要删除的文件夹路径,该批处理可以放在任意文件夹下。
forfiles /p D:\aizzw\LOG /m *.log /d -7 /c "cmd /c del /f @path"
参数解释:
这里的/p 指的是要删除的备份文件路径 ,没有提供该参数,则默认是当前文件夹下的匹配文件。
        /m 指的是要匹配的字符,通配符为*号,后缀名可以根据实际情况修改。
如zzw*.log;*.bak;*.txt
/d 指的是日期,“/d -7”指的是从当前日期往前减7天。
/c 指的是执行命令
@path 返回文件完整路径

 
二:自动创建每周运行一次的计划任务
Windows Vista / 7 可以通过 计算机,右键,管理,系统工具,任务计划程序,任务计划程序库,进入计划任务管理界面。
手动运行该任务,查看备份目录来确认下备份是否成功。

 --------------------------------------------------------------------------------------

 @echo off
 :start
 CLS
 
 set dt=%time:~0,2%
 if %dt% lss 10 set dt=%dt: =0%
 
 set file_name=%date:~0,4%%date:~5,2%%date:~8,2%_%dt%_%time:~3,2%
 set bin_path="c:\MySQL\MySQL Server 5.5\bin\"
 set save_path="c:\mysql_backup\data"
 set zip_path="C:\progra~1\WinRAR\WinRAR.exe "
 set bak_path="d:\mysql_backup\data"

 echo export_starting
 %bin_path%mysqldump.exe -u root -p 123 db1> %save_path%\db1_%file_name%.sql
 %bin_path%mysqldump.exe -u root -p 123 db2> %save_path%\db2_%file_name%.sql
 echo export_end
 
 echo zip_starting
 %zip_path% a -k -r  %save_path%\db1_%file_name%.rar %save_path%\db1_%file_name%.sql
 %zip_path% a -k -r  %save_path%\db2_%file_name%.rar %save_path%\db2_%file_name%.sql
 echo zip_end
 
 echo copy_starting
 copy %save_path%\db1_%file_name%.rar %bak_path%\db1_%file_name%.rar
 copy %save_path%\db2_%file_name%.rar %bak_path%\db2_%file_name%.rar
 echo copy_end
 
 echo rm_starting
 del %save_path%\db1_%file_name%.sql
 del %save_path%\db2_%file_name%.sql
 echo rm_end
 
 echo rm_history_starting
 set DaysAgo=10
 forfiles /p %save_path% /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path"
 forfiles /p %bak_path% /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path"
 echo rm_history_end
 
 echo ok

-------------------------------------------------------
备份到的FTP服务器
ftp -n -s:"bakftpotherserver.ftp"

--------------------------------------------
bakftpotherserver.ftp:

open ftp.xxx.yyyy.com    //Your Ftp Server 你要备份到的服务器的ip
user uaaaaa  pxxx   //Your Ftp username Your Ftp password
bin
prompt
mput yyyy.sql
bye
quit
exit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值