我设计了一个Web应用程序并连接到MySQL数据库。现在我想每天自动备份数据库中的数据,因为数据库中的数据每天都在变化。当我通过命令行尝试mysqldump并通过workbench导出选项时,我只能备份表结构而不能备份数据。
请有人告诉我如何每天将我的数据备份到云端。非常感谢
答案 0 :(得分: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
您的脚本将运行数据将被备份。