用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

mysql利用mysqldump定时自动备份mysql数据库

时间:2015-01-23  来源:西部数据  作者:西部数据

对mysql数据库进行定时备份在windows下我们可以使用mysqldump与xcopy来加计划任务来自动备份,而linux中我们可以使用crontab+mysqldump来定时备份数据库.

先来看windows中定时备份方法

方法一,mysqldump备份数据库

新建一个文件,如 mysqldump.bat,将下面代码写入文件mysqldump.bat:

  1. @echo off 
  2.  
  3. set file_dir=d:/a 
  4.  
  5. rem 备份文件所在的目录 
  6.  
  7. set file_name=%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2% 
  8.  
  9. rem 备份文件名 
  10.  
  11. C:/mysql/bin/mysqldump.exe -u root -p123456 databasename> %file_dir%/%file_name%.sql 
  12.  
  13. rem C:/mysql/bin/mysqldump.exe为mysqldump程序所在地址,root为用户名,123456为密码, 
  14.  
  15. databasename为待备份的数据库名 

然后将mysqldump.bat加入到任务计划中即可,设置每天指定时间来运行即可,“属性”=》“高级”中,还可以设置“重复任务”.

方法二,xcopy直接复制文件夹

1、复制date文件夹备份

假想环境:MySQL安装位置:C:/MySQL,论坛数据库名称为:bbs,数据库备份目的地:C:/db_bak/,新建db_bak.bat,写入以下代码:

  1. *******************************Code Start***************************** 
  2. net stop mysql 
  3. xcopy c:/mysql/data/bbs/*.* c:/db_bak/bbs/%date:~0,10%/ /S /I 
  4. net start mysql 
  5. *******************************Code End ***************************** 

linux中定时备份方法

利用Linux的定时计划功能(Cron)和MySQL的导出功能(mysqldump),编辑 /etc/crontab,代码如下:

vim /etc/crontab

按顺序加入如下两个语句,带了注释,代码如下:

  1. # remove all old backup files less than 29 days 
  2. 10 2 1 * * root find /mnt/database/ -name '*.sql.gz' -type f -mtime -29 -mtime +7 -exec rm -f {} ; //phpfensi.com
  3. # automatically backup mysql every day 
  4. 15 2 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/database/`date +'/%Y-/%m-/%d'`.sql.gz 

cron中任务计划的格式为:

# m h dom mon dow user  command

即:

第一个数字表示分(minute);

第二个数字表示时(hour);

第三个数字表示天(day of month);

第四个数字表示月(month);

第五个数字表示分(day of week);

以上数字为*时表示不限,接下来是执行命令的用户和命令内容.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门