【问题标题】:how to backup data in MySQL database automatically everyday to cloud如何每天自动将 MySQL 数据库中的数据备份到云端
【发布时间】:2016-07-26 17:39:27
【问题描述】:

我设计了一个 Web 应用程序并连接到 MySQL 数据库。现在我想每天自动备份数据库中的数据,因为数据库中的数据每天都在变化。当我通过命令行尝试mysqldump并通过工作台导出选项时,我只能备份表结构,但不能备份其中的数据。

请有人告诉我如何每天将我的数据备份到云端。感谢任何帮助

【问题讨论】:

标签: mysql sql database backup


【解决方案1】:

您可以使用简单的 php 脚本 + crontab 来执行此操作。

我正在分享一个以 csv 格式转储数据的示例代码(您可以通过更改命令中给定的正则表达式将其更改为您想要的任何格式):

exec('mysql -B -u '.$dbUser.' -p'.$dbPassword.' '.$dbName.' -h '.$dbHost.' -e "SELECT * FROM user;" | sed "s/\t/,/g" > '.$uploadPath.'user.csv');

exec('mysql -B -u '.$dbUser.' -p'.$dbPassword.' '.$dbName.' -h '.$dbHost.' -e "SELECT * FROM profile;" | sed "s/\t/,/g" > '.$uploadPath.'profile.csv');

---
---
---

在您的脚本中动态配置/生成$uploadPath例如: /var/log/yourApp/20160406/)。

每天使用crontab 运行脚本(假设您在 linux 服务器上):

1 0 * * * /usr/bin/php /var/www/yourscript.php

每天在12.01am 运行您的脚本,数据将被备份。

【讨论】:

  • 我不知道php crontab。还有其他方法吗?
  • crontab 不是 PHP 的东西。这是job scheduler - 我的意思是linux OS 如果你想设置预定的工作 - 你可以使用crontab。在其他操作系统中可能会有所不同。所以基本上你需要将代码放在PHP 文件中,然后在你的服务器中设置scheduled job 以便每天在某个时间运行 php 文件。 crontab 只是一个例子。
  • 我正在使用 windows os 和 tomcat server。如何使用任务调度器做同样的事情
  • Windows 有一个内置的Task Scheduler 应用程序。您可以尝试解决这个问题。我以前没有使用过tomcat - 所以我不能告诉你。谢谢。
猜你喜欢
  • 2018-10-25
  • 1970-01-01
  • 2019-07-25
  • 1970-01-01
  • 2010-12-30
  • 2015-08-20
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多