使用php脚本备份具有3个月大数据的特定表

时间:2019-04-22 03:55:11

标签: php mysql database backup

我想使用abc备份我的一个数据库表PHP

  

其中一列是timestamp。我想将3个月大的表备份到filename.sql.gz中,然后从表中删除数据。 保留表格上最近3个月的数据。

如果可能,输出文件仅包含INSERT查询。

1 个答案:

答案 0 :(得分:0)

您首先需要阅读PHP +数据库集成教程。您可以在mysql查询本身中实现以上功能。您也可以使用PHP ...您必须为此简单的任务编写自己的代码。以下是完成此任务时要遵循的步骤,您可以根据自己的要求修改这些步骤...

您尚未提到您正在使用哪个数据库,而是假设其为Mysql / mariadb

  1. 连接数据库(需要正确的访问权限),也需要一些PHP文件管理知识

  2. 基于时间戳,您应该编写一个查询,该查询可以提取旧数据并将其写入 .sql 文件(在stackoverflow中,已经对此主题提出了很多问题)

  3. 在STEP 2成功后,您可以执行DELETE操作

  4. 在执行此活动时,请确保此数据库/表上没有其他进程/查询在运行。

  5. 脚本必须包含TRANSACTION START / BEGIN,COMMIT和ROLLBACK

  6. 如果要在INSERT查询中输出文件,则需要BATCH INSERT。参考此以了解批处理查询的外观(How to do a batch insert in MySQL) 您可以编写一个自定义PHP函数来生成BATCH实现。

  7. 无需触摸要保留的数据,将保持不变