时间:2021-05-19
一、实现本地自动备份数据库很简单:
1.以root身份登陆
2.计划任务(每天的3:30自动执行/usr/bin/mysqlbackup)
crontab
03:30***/usr/bin/mysqlbackup
3.写一个自动备份数据库脚本
vi/usr/bin/mysqlbackup
#!/bin/bash
mv/home/.../db_bak5.tgz/home/.../db_bak6.tgz
mv/home/.../db_bak4.tgz/home/.../db_bak5.tgz
mv/home/.../db_bak3.tgz/home/.../db_bak4.tgz
mv/home/.../db_bak2.tgz/home/.../db_bak3.tgz
mv/home/.../db_bak1.tgz/home/.../db_bak2.tgz
rm-rf/home/.../db_bak.txt
/usr/bin/mysqldump-uroot-ppassworddbname
>/home/.../db_bak.txt
cd/home/.../
tarczvfdb_bak1.tgzdb_bak.txt
二、这样每天的3:30就会在本地目录/home/.../下生成相应的数据库备份,开始由于/home/.../目录下缺少数据系统会提示错误,这是正常的
三、至于远程备份可以配合使用ftp或scp命令实现,方法很简单,查一下相关命令的使用,然后再改动一下mysqlbackup脚本就可以了
在win2003下MySQL数据库每天自动备份
终于让服务器每天早上备份一次MySQL数据库并自动打包,同时删除5天前的备份文件.分享如下.
1.环境:windowsserver2003+Apache2.0+PHP5+MySQL4.0.26.
2.假设PHP安装目录为D:/php,MySQL安装目录为D:/mysql.
3.在D:/php下建立目录WinRAR,把你winrar安装目录下的WinRAR.exe和RARReg.KEY复制到D:/php/WinRAR.
4.D:/php下建立文件mysql_backup.php:
//保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder='D:\databse_backup';
//用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些数据库不能备份.
$db_username="root";
$db_password="";
$time=time();
$nowdir="$store_folder\\".date("Ymd",$time)."";
if(file_exists("$nowdir.rar"))die("Fileexists.\n");
@mkdir($nowdir);
mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs();
while($result=mysql_fetch_array($query)){
system(dirname(__FILE__).'\..\mysql\bin\mysqldump--opt'."$result[Database]
-u{$db_username}".($db_password?"-p{$db_password}":"").">
$nowdir\\$result[Database].sql");
echo"dumpingdatabase`$result[Database]`...\n";
}
echo"\nWinrarloading...\n";
system(dirname(__FILE__)."\\WinRAR\\WinRAR.exea-ep1-r-o+-m5-df\"$nowdir.rar\"
"$nowdir\"");
//删除5天前的文件
@unlink("$store_folder\\".date("Ymd",$time-86400*5).".rar");
echo"\nOK!\n";
>
5.D:/php下建立文件mysql_backup.bat,内容只有一句:
php.exemysql_backup.php
6.双击该bat文件运行,如果能备份了,OK,下一步添加任务计划.
7.把D:/php/mysql_backup添加到任务计划,时间选每天.根据服务器的监测结果,每天早上5-8时为流量低峰期.由于5-7时有些数据库的清理工作,可以把时间定在了早上8点整.
mysql的自动备份------这篇来自动网
time=`date+%G%I%d%H%M`#年月日时分
db=products
echo"#产品库\r\n">/sqlbak/${db}_$time.sql#备份文件名为[库名_年月日时分.sql]
mysqldump--add-drop-table-c--allow-keywords--force--password=1234567890--user=root$db>>/sqlbak/${db}_$time.sql
db=news#另一个库
echo"#新闻库\r\n">/sqlbak/${db}_$time.sql
mysqldump--add-drop-table-c--allow-keywords--force--password=1234567890--user=root$db|bzip2-9>/sqlbak/${db}_$time.sql.bz2
#--add-drop-table是添加一个删出命令。
#-c是完整插入,每行插入都包括字段名
#--force是出错也继续
#--allow-keywords是对于保留字做字段名时对字段名加反引号。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
案例一:shell+cron实现MySQL自动备份且自动删除N天前备份复制代码代码如下:#!/bin/shDUMP=/usr/local/mysql/bin/m
最近工作中常常需要备份远程服务器上的Mysql数据库到本机,一开始采用直接备份Mysql的data目录的办法,但由于编码不同的原因经常产生问题。后来朋友推荐我使
考虑到在本机上备份数据,一旦该机器硬盘出现故障,数据无法取出。远程手动备份数据费时费力且不及时。最好的方法就是通过脚本实现远程自动互备。但远程无论是通过SSH登
有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动
MySQLBackupTool备份MySQL数据库是数据库管理的基本任务,虽然可以直接通过mysqldump进行备份,但是,要实现自动备份还是需要做许多工作。M