我需要的数据都在 /*!*/; /*!*/; 之间,里面包括 insert into my_dt update my_dt delete my_dt 但有二种情况。第一种情况,在二者之间还包括一个SET INSERT_ID=8435595/*!*/;这样的语句,它以/*!*/;结尾,所以要考虑以/*!*/;为结尾的不算不符合。 /*!*/; # at 3610618 #101223 18:36:53 server id 1 end_log_pos 3610646 Intvar SET INSERT_ID=8435595/*!*/; # at 3610646 #101223 18:36:53 server id 1 end_log_pos 3611055 Query thread_id=6634974 exec_time=0 error_code=0 SET TIMESTAMP=1293100613/*!*/; INSERT INTO my_dt(fid, tid, first, author) VALUES ('674', '834775', '0') /*!*/;另外一种为正常情况: /*!*/; # at 1209 #101230 15:54:34 server id 1 end_log_pos 1577 Query thread_id=4 exec_time=0 error_code=0 SET TIMESTAMP=1293695674/*!*/; UPDATE my_dt SET count=count+1 WHERE (type='total' AND variable='hits') /*!*/; # at 1577 #101230 15:54:34 server id 1 end_log_pos 1710 Query thread_id=4 exec_time=0 error_code=0 SET TIMESTAMP=1293695674/*!*/; UPDATE xxx SET views=views+1 WHERE tid='319162' /*!*/; 此种情况只需要提取: /*!*/; # at 1209 #101230 15:54:34 server id 1 end_log_pos 1577 Query thread_id=4 exec_time=0 error_code=0 SET TIMESTAMP=1293695674/*!*/; UPDATE my_dt SET count=count+1 WHERE (type='total' AND variable='hits') /*!*/; 即可
/*!*/;
/*!*/;
之间,里面包括
insert into my_dt
update my_dt
delete my_dt
但有二种情况。第一种情况,在二者之间还包括一个SET INSERT_ID=8435595/*!*/;这样的语句,它以/*!*/;结尾,所以要考虑以/*!*/;为结尾的不算不符合。
/*!*/;
# at 3610618
#101223 18:36:53 server id 1 end_log_pos 3610646 Intvar
SET INSERT_ID=8435595/*!*/;
# at 3610646
#101223 18:36:53 server id 1 end_log_pos 3611055 Query thread_id=6634974 exec_time=0 error_code=0
SET TIMESTAMP=1293100613/*!*/;
INSERT INTO my_dt(fid, tid, first, author) VALUES ('674', '834775', '0')
/*!*/;另外一种为正常情况:
/*!*/;
# at 1209
#101230 15:54:34 server id 1 end_log_pos 1577 Query thread_id=4 exec_time=0 error_code=0
SET TIMESTAMP=1293695674/*!*/;
UPDATE my_dt SET count=count+1 WHERE (type='total' AND variable='hits')
/*!*/;
# at 1577
#101230 15:54:34 server id 1 end_log_pos 1710 Query thread_id=4 exec_time=0 error_code=0
SET TIMESTAMP=1293695674/*!*/;
UPDATE xxx SET views=views+1 WHERE tid='319162'
/*!*/;
此种情况只需要提取:
/*!*/;
# at 1209
#101230 15:54:34 server id 1 end_log_pos 1577 Query thread_id=4 exec_time=0 error_code=0
SET TIMESTAMP=1293695674/*!*/;
UPDATE my_dt SET count=count+1 WHERE (type='total' AND variable='hits')
/*!*/;
即可
例如:
/*!*/;
SET TIMESTAMP=1293695674/*!*/;
UPDATE my_dt SET count=count+1 WHERE (type='total' AND variable='hits')
/*!*/;
root@mablevi-desktop:~/shell_test# cat test
BEGIN
/*!*/;
# at 51315
#101210 16:22:36 server id 1 end_log_pos 51343 Intvar
SET INSERT_ID=328/*!*/;
# at 51343
#101210 16:22:36 server id 1 end_log_pos 51548 Query thread_id=835 exec_time=0 error_code=0
SET TIMESTAMP=1291969356/*!*/;
INSERT INTO order_size_amount (order_id, amount, rule_id, size_id, company_id, member_id) VALUES ('499', '3', 153, '311', '36', '63')
/*!*/;
# at 51548
#101210 16:22:36 server id 1 end_log_pos 51575 Xid = 11333
COMMIT/*!*/;
# at 51575
#101210 16:22:36 server id 1 end_log_pos 51652 Query thread_id=835 exec_time=0 error_code=0
SET TIMESTAMP=1291969356/*!*/;
BEGIN
/*!*/;
# at 51652
#101210 16:22:36 server id 1 end_log_pos 51680 Intvar
SET INSERT_ID=154/*!*/;
# at 51680
#101210 16:22:36 server id 1 end_log_pos 51908 Query thread_id=835 exec_time=0 error_code=0
SET TIMESTAMP=1291969356/*!*/;
INSERT INTO order_rule (assembly_id, per_size, memo, order_id, order_amount_desc_id, company_id, member_id) VALUES ('347', '11', '', '499', 115, '36', '63')
/*!*/;
# at 51908
#101210 16:22:36 server id 1 end_log_pos 51935 Xid = 11334
COMMIT/*!*/;结果这样:
root@mablevi-desktop:~/shell_test# grep -i -C1 "INSERT INTO" test
SET TIMESTAMP=1291969356/*!*/;
INSERT INTO order_size_amount (order_id, amount, rule_id, size_id, company_id, member_id) VALUES ('499', '3', 153, '311', '36', '63')
/*!*/;
--
SET TIMESTAMP=1291969356/*!*/;
INSERT INTO order_rule (assembly_id, per_size, memo, order_id, order_amount_desc_id, company_id, member_id) VALUES ('347', '11', '', '499', 115, '36', '63')
/*!*/;