mysql备份

来源:互联网 发布:网红淘宝店前十名2016 编辑:程序博客网 时间:2024/06/05 18:43

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

原创粉丝点击