利用perl脚本取回MySQL记录的insert时间

在设计数据表时,添加一个TimeStamp字段已经是常规做法了,对于后期的数据维护、分析都很有用。但是由于各种原因,有时候设计表结构的工作往往是交给普通开发人员去做,又没有仔细去审核,等维护时才发现根本没有时间戳,这时候系统已经上线一段时间,再想找回历史数据的创建时间已无从下手。

好在MySQL数据库的binlog中已为我们忠实的记录了所有sql语句的操作时间(当然,前提是打开了日志选项),我们可以通过如下一段perl小脚本从日志中找回所有数据记录的创建时间(同样适用于自增ID。好吧,不加自增ID这种错误就更初级了,相信没人会犯的):

 

程序保存为GetTimestamp.pl,使用步骤为:
1、在table中建立类型为TimeStamp的字段CreateTime;
2、将binlog导出sql文件;
3、perl GetTimestamp.pl sql文件名 输出文件名 数据表名;
4、执行输出文件中所有的update语句,即可找回记录的创建时间点。
That’s all. 


btw,其实以上4步其实可以合并到脚本中自动完成,但和本文主题无涉。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值