如果你是指在linux下.
写一个简单的C(或shell),放于/etc/cron.daily
具体的日期你可以在 /etc/crontab 设置
比如
vi /etc/crontab
02 4 * * * root run-parts /etc/cron.daily
这样系统将会在每天的晚上 4点运行 /etc/cron.daily 下的所有程序C 程序的功能其实就是对
数据库目录进行tar打包,并以当天的日期名进行命名
如有兴趣可以见以下程序.#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/stat.h>
int main(int argc,char *argv[])
{
struct stat sbuf;
char time_str_file[15];//以时间命名的压缩包文件名.
char cmd_str[50];//保存命令的字段数组.
char save_to_dir[50]="/home/bak/dbbak";//保存压缩包的目录
char tar_to_dir[100]="/usr/local/mysql/data/test";//被压缩的目录
time_t td;
struct tm *dcp;
time(&td);
dcp=localtime(&td);
printf("\n=========== begin bak mysql data... ===========\n");
sprintf(time_str_file,"%04d_%02d_%02d.tar",dcp->tm_year+1900,dcp->tm_mon+1,dcp->tm_mday);//得到年月日
sprintf(cmd_str,"tar czvf %s%s %s",save_to_dir,time_str_file,tar_to_dir);//得到年月日
printf("\n==== %s ====",cmd_str);
system(cmd_str);
printf("\nbak file ok ..\n");
return 0;
}当然 被压缩的目录 是指 存放mysql数据库文件的目录。你可以根据具体情况来定
以后恢復数据库只要解包。然后覆盖原来的数据库目录就可以了
win2000等原理一样,注意mysql数据库目录有可能是在 一个DATA的目录。这种备份速度应该是最快的了
解决方案 »
- Mysql表内容复制问题
- SNS Webgame 社区类页面网游开发的数据库缓存问题
- 求助,PostgreSQL字符编码问题
- 为什么找不到mysql 5.0中的mysql_config文件
- 结果付值问题
- 我的mysql表和数据库重启后不见了.请各位指教这是怎么回事.万分感谢~~
- 问个有关Timestamp和long类型,概念性的问题
- PostgreSql里,求一句sql
- 在redhat9.0装了MySQL-server-4.0.20-0.i386.rpm,怎么没有mysql命令呢?我怎么来创建我自己的数据库呢?
- 如何导入更新数据库中的存储过程
- MYSQL 4.0 问题
- 我发现一个很不错的sql安全论坛!~~~~~~~~~~~~~
一是数据库表文件复制备份,
二是数据导入导出的方法,数据库表文件复制,也就是直接拷贝,
所要注意的就是一定要将服务器停止,
以保证所有表缓冲更新到文件中,
还有要注意的就是如果使用了InnoDB表类型,
就需要将InnoDB的数据文件\LOG文件,以及My.cnf配置文件一同备份好处:简单,速度快,安全
缺点:需要关闭服务
数据导入导出的备份办法有多种实现方式,
可以用SQL语句,
可以用MySQL自带的几个工具好处:在线备份与恢复,不用关闭服务
缺点:速度慢,可能出问题,数据并不一定是最新的
我說的方法 isp 提供商 是不會給我的。有別的方法沒, 如用來 mysql_query()執行備份,恢復命令!!
可以用SQL语句,
謝謝!!!
里有有数据库导出的功能!
就如 gggxin(于吉) 所述
使用PhpMyAdmin可以将数据读取出来,
然后保存为CSV格式的文本文件,
以后用 LOAD DATA LOCAL INFILE 命令恢复
或直接组成 INSERT INTO SQL语句,
以便于今后的数据恢复
这样可以用mysql_query()执行
不过这样一次只能导出一个表的数据导完后在做成自动下载就行了。
如果需要留下你的email我发给你。
你有沒有還原的???