比较cron作业中的两个DB以发送邮件通知

时间:2012-01-23 19:58:55

标签: mysql cron multiple-databases

Cron工作:

将csv文件导入MySQL $ db1。 建立与$ db2的新连接,并使用$ db2中的数据创建新的$ db1.table。

我很想知道如何比较这两个数据库的结果,并在cron作业期间通过电子邮件发送通知,如果任何行匹配从$ db1.csvtable到$ db1.db2table?

我是否以正确的方式接近这个项目?没有办法按唯一ID比较结果,所以我最好的猜测是比较每列,因为数据库不是太大。

感谢您的帮助,如果需要澄清,请告诉我。 (使用php-mysql)

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是将数据作为有序的平面文件转储到磁盘,然后使用comm查找匹配的行。

这样的事情:

mysql -h db1 -e "select * into outfile '/tmp/db1.txt' from your_table order by id;"
mysql -h db2 -e "select * into outfile '/tmp/db2.txt' from your_table order by id;"
comm -1 -2 /tmp/db1.txt /tmp/db2.txt > /tmp/matching.txt