【问题标题】:MySQL Database backup automatically on a windows server在 Windows 服务器上自动备份 MySQL 数据库
【发布时间】:2013-01-17 23:26:25
【问题描述】:

有没有办法在一天中的特定时间为指定的服务器自动备份 MySQL 数据库或发送带有附件的电子邮件。您认为哪种方式是最好和最安全的?

【问题讨论】:

标签: mysql database backup


【解决方案1】:

最好的办法是

mysqldump.exe --user=YourUserName --password=YourPassword --host=localhost --port=3306 --result-file="Path\dump.sql" --databases "DatabaseName1" "Database2"


mysqldump.exe --user=root --password=root  --host=localhost --port=3306 --result-file="c:\www\db\backup.%date:~10,4%%date:~7,2%%date:~4,2%.sql" --default-character-set=utf8 --single-transaction=TRUE --databases "dbtest1" "dbtest2"

模式backup.%date:~10,4%%date:~7,2%%date:~4,2%.sql 将在每次运行时创建一个唯一名称 (backup20131010.sql)

现在您只需在任务调度程序中调用此命令。而已。 :)

【讨论】:

  • 谢谢@Tarun 日期格式不可读如何更改为 YYYY-MM_DD 格式?
  • 备份。%date:~10,4%%-date:~4,2%_date:~7,2%%.sql @MohammadFaizanKhan 希望这会有所帮助。
  • 在 mysqldump.exe 后添加 --column-statistics=0 以避免出现此错误:unknown table 'column_statistics'...
  • 我添加了整个参数,但日期模式不起作用。调度程序无法启动 mysqldump。当我删除模式时,它可以工作。有什么建议?它是 Windows Server 2019。
【解决方案2】:

我会使用 Windows Task Scehduler/cron(取决于您的系统)和mysqldump。在链接中向下滚动,它包含一些如何实现您想要的见解。

【讨论】:

  • 是的,这个链接似乎包含了我需要的所有信息,希望我能把它们放在一起。非常感谢马丁。以及如何在服务器中使用 Windows 任务调度程序?
  • Windows 服务器上的任务调度程序与工作站上的几乎相同。如果您对此感到不舒服,您可能会在superuser.comserverfault.com 上获得更好的答案。如果您觉得我的回答帮助您解决了问题,请您接受。
【解决方案3】:

您可以将这些命令之一添加到Windows task scheduler

mysqldump –-user [username] –-password=[password] [database name] > [dump file]

或以紧凑的方式:

mysqldump –u[username] –p[password] [database name] > [dump file]

或:

mysqldump -u[user] -p[password] --result-file="c:\<path>\backup.%DATE:~0,3%.sql" [database]

【讨论】:

    【解决方案4】:

    databaseW.2016,06,29-22,31,48-15.sql

    @echo off
    rem Backup Database (Daily,via Task Scheduler)
    rem databaseW
    set filename="c:\xampp\dbk\databaseW.%date:~6,4%,%date:~0,2%,%date:~3,2%-%time:~0,2%,%time:~3,2%,%time:~6,2%-%time:~9,2%.sql"
    c:\xampp\mysql\bin\mysqldump.exe --user=root --password=dell@root --host=localhost --port=3306 --result-file=%filename% --default-character-set=utf8 --single-transaction=TRUE --databases "databaseW"
    

    要创建名称基于日期和时间的文件,请使用%date%%time%。 请注意,这 2 个变量基于语言环境和 cmd shell 版本

    • 打开cmd窗口
    • 输入echo %time%echo %date% 我的是22:11:16.80,06/29/2016 Wed
    • 通过%variable:~startpos,length% 减去变量 我想要用逗号分隔的时间,所以 cmd 去 echo %time:~0,2%,%time:~3,2%,%time:~6,2%,%time:~9,2%
    • 获取像databaseW.2016,06,29-22,31,48-15.sql这样的文件名 使用set filename="databaseW.%date:~6,4%,%date:~0,2%,%date:~3,2%-%time:~0,2%,%time:~3,2%,%time:~6,2%-%time:~9,2%.sql"
    • 提前检查datetime
    • 使用--result-file 选项而不是&gt;;根据Mysql Manuel,使用“>”保存的文件字符集是UTF-16,而--result-file遵循--default-character-set
    • 保存到文件BackpDay-databaseW.cmd
    • 将其添加到新任务Action 并设置触发器(Windows 任务计划程序)

    【讨论】:

      【解决方案5】:

      我做了这项工作,与其他人解释的类似...但差别不大,需要额外的工作

      1) 我制作了一个批处理文件
      2) 通过 Windows 调度程序运行该批处理文件
      3) 为该任务制定适当的时间表
      4) 在批处理文件中执行这些步骤:

      • 4-1) 根据当前日期准备文件名
      • 4-2) 得到了mysqldump.exe在对应目录&文件名下的备份
      • 4-3) 通过 7-Zip 应用程序制作一个压缩文件(安装它)然后删除未压缩的备份
      • 4-4) 将副本放在我们的网络文件服务器上

      这是一个脚本(.bat)示例:

      @echo off
      set current=%date:~10,4%%date:~4,2%%date:~7,2%
      set filename="E:\MySQL Backups\DBName-%current%.sql"
      set filename2="E:\MySQL Backups\DBName-%current%.zip"
      echo %filename%
      cd "E:\MySQL Backups"
      C:\"Program Files"\MySQL\"MySQL Server 5.5"\bin\mysqldump.exe db_name --user=root --password=rootpass --host="127.0.0.1" --port=instancePort --result-file=%filename% --default-character-set=utf8 --single-transaction=TRUE
      echo backup-finished
      
      if exist %filename% (
          "C:\Program Files\7-Zip\7z.exe" a %filename2% %filename%
          echo zip-finished
          del %filename%
      )
      if exist %filename2% (
          copy %filename2% "\\192.168.x.x\MySQL Backups"
          echo copy-finished
      )
      

      【讨论】:

        猜你喜欢
        • 2012-01-16
        • 1970-01-01
        • 2014-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多