我想把公司主机上的数据库定时备份到我本地主机上,环境是windows,管理数据库的软件是NAVICAT,我想在每天中午12定时备份data_clean这个数据库的数据,应该怎么处理呢?请大家指教

解决方案 »

  1.   

    公司用的是NAVICAT,我本地装的是MYSQL5.1版本的,我在网上找了一些但是都不行,我MYSQL安装地址是:C:\Program Files\MySQL\MySQL Server 5.1,想把公司主机上的data_clean数据库每天12点备份到D:\backup文件夹里,真心请教大家
      

  2.   

    用系统 OR 数据库事件均可
    备份:
    MYSQLDUMP -uroot -B -E -R -p TEST>D:\temp\123.TXT在系统任务计划中执行
      

  3.   

    在你的 公司主机 上计划一个定时的任务,可以定在每天 中午12点自定时运行一个脚本
    MYSQLDUMP -u root -pPswd data_clean >d:\backup\backup-file.sql
      

  4.   

    我想问下您,您说在公司主机上把这个脚本编辑成txt格式的文本就可以吗?MYSQLDUMP是不是也要在主机MYSQL的安装目录下才可以啊,比如MYSQL安装在D:\xampp\mysql,那么这个脚本是不是应该这样:
    D:\xampp\mysql\bin\MYSQLDUMP -u root -pPswd data_clean >d:\backup\backup-file.sql
      

  5.   


    如果你没有把MySQL bin目录加到系统环境中,则需要按照你所说的方式列出全部路径名。
      

  6.   

    D:\xampp\mysql\bin\MYSQLDUMP -u root -pPswd data_clean >d:\backup\backup-file.sql
    我把上面的脚步保存成backup.bat,然后试运行了一下,一闪就过了,是不是还需要配置环境变量啊
      

  7.   

    启动MYSQL没有?在WINDOWS的命令行中运行上述MYSQLDUMP
    看看提示什么信息
      

  8.   

    不好意思啊,我比较笨,我是这样做的,我先把D:\xampp\mysql\bin\MYSQLDUMP -u root -pPswd data_clean >d:\backup\backup-file.sql 
    保存成了backup.bat,然后双击这个批处理文件,想看下效果,但是结果却是一闪而过,在D盘下也没有出现相应的备份目录,环境变量我也设置了,还是不行啊
      

  9.   

    在WINDOWS的命令行中运行:
    D:\xampp\mysql\bin\MYSQLDUMP -uroot -pPswd data_clean >d:\backup\backup-file.sql 看看提示什么信息 
      

  10.   

    我在windows命令上运行的时候,
    显示提示输入密码,输入完后好像显示了一段信息,然后就一闪而过了,
    我在MYSQL的命令行里输入上述信息,MYSQLDUMP -u root -pPswd data_clean >d:\backup\backup-file.sql
    提示不知名命令\b
      

  11.   

    509 Connect root@localhost on 
    509 Query /*!40100 SET @@SQL_MODE='' */
    509 Query /*!40103 SET TIME_ZONE='+00:00' */
    509 Query SELECT LOGFILE_GROUP_NAME, FILE_NAME, TOTAL_EXTENTS, INITIAL_SIZE, ENGINE, EXTRA FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'UNDO LOG' AND FILE_NAME IS NOT NULL AND LOGFILE_GROUP_NAME IN (SELECT DISTINCT LOGFILE_GROUP_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA='MYSQL数据库密码' AND TABLE_NAME IN ('data_clean','>d:\\backup\\backup-file.sql'))) GROUP BY LOGFILE_GROUP_NAME, FILE_NAME, ENGINE ORDER BY LOGFILE_GROUP_NAME
    509 Query SELECT DISTINCT TABLESPACE_NAME, FILE_NAME, LOGFILE_GROUP_NAME, EXTENT_SIZE, INITIAL_SIZE, ENGINE FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA='MYSQL数据库密码' AND TABLE_NAME IN ('data_clean','>d:\\backup\\backup-file.sql')) ORDER BY TABLESPACE_NAME, LOGFILE_GROUP_NAME
    509 Quit
      

  12.   

    你的MYSQL是什么版本,怎么没有出现过你的上述信息?
      

  13.   

    我把路径改了一下,写完整了,再次运行的时候,倒是出现我要备份的目录了和文件了,但是里面又提示这些信息 
    -- MySQL dump 10.13  Distrib 5.1.30, for Win32 (ia32) 
    -- 
    -- Host: localhost    Database: data_clean 
    -- ------------------------------------------------------ 
    -- Server version 5.1.30-community-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 
    /*!40101 SET NAMES utf8 */; 
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; 
    /*!40103 SET TIME_ZONE='+00:00' */; 
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
      

  14.   


    执行这个命令应该没有回得信息啊。自然是直接结束。在你的windows开始,运行,输入 cmd 回车。然后C:\Program Files\MySQL\MySQL Server 5.1\bin>MYSQLDUMP -u root -p123 test >h:\backup-file.sqlC:\Program Files\MySQL\MySQL Server 5.1\bin>dir h:\*.sql
     Volume in drive H is xxxxxx
     Volume Serial Number is 0000-0000 Directory of h:\04/13/2009  10:08a               3,313 backup-file.sql
                   1 File(s)          3,313 bytes
                   0 Dir(s)       3,104,896 bytes freeC:\Program Files\MySQL\MySQL Server 5.1\bin>你可以把 C:\Program Files\MySQL\MySQL Server 5.1\bin\MYSQLDUMP -u root -p123 test >h:\backup-file.sql 放在一个bk.bat文件中(用记事本即可)然后到WINDOWS计划任务中添加任务,或者用AT命令计划一个task.
      

  15.   

    您看下,这是我运行后的结果C:\Program Files\MySQL\MySQL Server 5.1>cd binC:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root p123456 data_clean
    >d:\backup.sql
    mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using pas
    sword: NO) when trying to connectC:\Program Files\MySQL\MySQL Server 5.1\bin>dir d:\backup.sql
     驱动器 D 中的卷没有标签。
     卷的序列号是 D4F9-BB28 d:\ 的目录2009-04-13  10:13                 0 backup.sql
                   1 个文件              0 字节
                   0 个目录 39,999,430,656 可用字节
      

  16.   

    mysqldump -uroot -p123456 data_clean>d:\backup.sql 
      

  17.   

    没有了,我当时点击完BAT文件后,就在新生成的文件里看到这些信息,没有建表插入数据的信息
      

  18.   

    mysqldump -uroot -p123456 data_clean>d:\backup.sql 
    用这个试试
      

  19.   

    在cmd命令行里成功了,但是为什么在写成批处理文件BAT时还是没有正常备份呢?现象还是闪了一下就过去了
    顺便问一下,在批处理文件下怎么实现增量备份呢?脚本应该怎么写呢
      

  20.   

    在命令行下已经成功了,但是在批处理文件下还是不行,一闪而过,
    D: 
    C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump -uroot -p123456 data_clean > D:\backup.sql 
    我的批处理文件是这样写的,不知道有没有错误
      

  21.   

    Got error: 1045: Access denied for user 'root'@'localhost' (using pas 
    sword: NO) when trying to connect 

    你的root的授权要再加一下。mysql 进去之后,再 grant all on *.* to `root`@`%`;
      

  22.   

    真心的谢谢大家的指点,再次真的很感谢,命令行下的已经解决了,但是现在用批处理文件还是不行,
    一闪而过, 
    D: 
    C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump -uroot -p123456 data_clean > D:\backup.sql 
    我的批处理文件是这样写的,不知道有没有错误,还有劳大家的指点啊
      

  23.   

    已经在另一个贴子中答复了。关于 backup01.sql  backup02.sql 
    你需要另写一个script来更名。一般在windows上你可以用vbscript.