用mysqlbinlog
php处理代码:
将mysql-bin.xxxxxx文件导出为可读文本:
<?php //导出mysql-bin.000xxx文件为可读性txt文本 //0为执行成功,1为失败 //system("cd D:/wamp/bin/mysql/mysql5.5.8/data",$comReturn); for ($i=200;$i<267;$i++){ $command = "D:/wamp/bin/mysql/mysql5.5.8/bin/mysqlbinlog D:/wamp/bin/mysql/mysql5.5.8/data/mysql-bin.000".$i." >> D:/baksql/baksqlaa.txt"; system($command,$comReturn); var_dump($comReturn); } ?>
分离出需要执行的语句:
<?php //导出sql语句 $file = "D:/baksql/baksqlaa.txt"; $arr = file($file); $str = ''; $insert = "INSERT INTO `che`.`che_tuangou`"; $update = "UPDATE `che`.`che_tuangou`"; foreach ($arr as $v){ if (stripos($v, $insert) !==false) { $str .= $v.";\r\n"; } } file_put_contents("D:/insertsql.txt", $str); ?>