【问题标题】:Automatic mysql backup on xampp windows 8?xampp windows 8上的自动mysql备份?
【发布时间】:2013-10-26 11:36:26
【问题描述】:

我最近遇到问题,我的硬盘坏了!

我硬盘中“F:\xampp\mysql\data\ibdata1”的ibdata1文件损坏了!

文件大小为 8 GB,但当我在 6 GB 后尝试复制时,它显示冗余检查错误!

我最近安装了新的 xampp 安装,只是想知道它是否可以像虚拟主机服务提供商那样创建文件的自动备份。

任何帮助将不胜感激。

【问题讨论】:

    标签: mysql xampp backup


    【解决方案1】:

    要扩展答案,您可以使用下面的脚本(用于 XAMPP 或其他 mysql 配置)。创建 bat 文件后,可以在 Windows Scheduler 中将其设置为例如每周任务。

    此脚本将根据日期创建类似 C:\backups\db1-2014-03-27.sql 的文件

    mysqldumper.bat

    FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
    FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
    FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
    FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
    SET date=%yyyy%-%mm%-%dd%
    
    C:\xampp\mysql\bin\mysqldump.exe db1 -h localhost -u user1 -pPassWord1 > C:\backups\db1-%date%.sql
    C:\xampp\mysql\bin\mysqldump.exe db2 -h localhost -u user2 -pPassWord2 > C:\backups\db2-%date%.sql
    

    【讨论】:

      【解决方案2】:

      我使用一个调用 mysqldump 并由 Windows 任务计划程序按计划执行的批处理文件。

      首先您需要创建一个批处理文件。打开一个新的文本文件并包含与此类似的内容。将其保存为 .BAT。您必须更新 MySQL bin 的位置。在第一行。这应该在您的 xamppfiles 目录中。然后在 mysqldump 命令中包含正确的 mysql 用户名、数据库名和密码

      REM Export all data from this database
      cd C:\Program Files\MySQL\MySQL Server 5.6\bin
      
      REM To export to file (structure only)
      mysqldump --no-data [DATABASENAME] -h localhost -u [USER] -p[PASSWORD] > C:\databackup\database_ddl_backup.sql
      mysqldump --no-create-info --no-create-db [DATABASENAME] -h localhost -u [USER] -p[PASSWORD] > C:\databackup\database_data.sql
      

      然后您只需要使用 Windows 任务计划程序来计划这个批处理文件。这是一篇针对 W7 和 W8 解释这一点的文章:

      http://www.thewindowsclub.com/how-to-schedule-batch-file-run-automatically-windows-7

      【讨论】:

        【解决方案3】:

        只是为了扩展给定的答案,以防有人想为生成的备份文件名添加时间。

        使用这个:https://stackoverflow.com/a/19741875

        我们可以构建以下批处理文件:

        FOR /f %%a IN ('WMIC OS GET LocalDateTime ^| FIND "."') DO SET DTS=%%a
        SET date=%DTS:~0,8%-%DTS:~8,6%
        
        C:\xampp\mysql\bin\mysqldump.exe db1 -h localhost -u user1 -pPassWord1 > C:\backups\db1-%date%.sql
        C:\xampp\mysql\bin\mysqldump.exe db2 -h localhost -u user2 -pPassWord2 > C:\backups\db2-%date%.sql
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-17
          • 2014-10-21
          • 1970-01-01
          • 2016-05-30
          • 2014-10-20
          • 1970-01-01
          • 2020-05-13
          相关资源
          最近更新 更多