如何跟踪 mysql 数据表变化?在写 DZ 插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mfanming
V2EX    问与答

如何跟踪 mysql 数据表变化?在写 DZ 插件

  •  1
     
  •   mfanming 2016-06-11 11:08:26 +08:00 1909 次点击
    这是一个创建于 3419 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如做发帖功能的插件,我需要先知道原有发帖功能变化了哪些数据表

    12 条回复    2016-06-12 17:33:24 +08:00
    popu111
        1
    popu111  
       2016-06-11 11:27:49 +08:00   1
    看源码啊 0w0 或者 dump 出来比对
    yeyeye
        2
    yeyeye  
       2016-06-11 11:49:55 +08:00   1
    7.0 的时候是修改了好像是 4 个地方。你问我怎样知道的?

    去火车采集器论坛找个相同版本的发布插件就知道了
    cevincheung
        3
    cevincheung  
       2016-06-11 12:23:42 +08:00   1
    难道不是 QueryLog
    mfanming
        4
    mfanming  
    OP
       2016-06-11 15:13:24 +08:00
    @cevincheung 没用过...
    mfanming
        5
    mfanming  
    OP
       2016-06-11 15:16:43 +08:00
    @yeyeye 明白你的意思,看看插件做了哪些写入和 update 的工作,如果不是发新帖,比如评分,机器人自动回帖,这样的该怎么找呢
    mfanming
        6
    mfanming  
    OP
       2016-06-11 15:18:01 +08:00
    @popu111 目前是看源码,数据字典里查,然后写出来测试...感觉好慢
    td width="10" valign="top">
    Sunyanzi
        7
    Sunyanzi  
       2016-06-11 19:35:00 +08:00   2
    QueryLog 是我能想到的最优解决方案 ... 看到 @cevincheung 说了我就没冒泡 ...

    结果你说「没用过」然后就没下文了 ... 我能说你活该好慢吗 ...

    SET global general_log_file='/path/to/your/sql.log';
    SET global general_log = 1;

    修改第一行的路径为你存 log 文件的路径之后执行 ... 之后所有查询就都会被记录下来 ...

    MySQL 5.1 以上适用 ... 要停止记录执行 SET global general_log = 0; ... 或者重启也行 ...

    我是刚好闲着才写给你 ... 你之前没用过就一辈子不用了 ..? 就两行 SQL 而已有这么麻烦吗 ..?
    cevincheung
        8
    cevincheung  
       2016-06-11 19:38:06 +08:00   2
    @Sunyanzi

    另外一个,修改 dz 的 db 库,执行 query 的时候 append 文件也行。

    @mfanming
    别犯懒
    mfanming
        9
    mfanming  
    OP
       2016-06-12 12:20:06 +08:00
    @Sunyanzi
    谢谢,我差点放弃
    我的 mysql 版本是 5.5.38
    用的是入门级环境配置包 phpstudy
    用了你的命令,没成功,因为是 WIN 系统?
    又在网上找的下面这段,加上后重启电脑成功了
    log-error="G:/phpStudy/MySQL/log/error.log"
    general-log=1
    general-log-file="G:/phpStudy/MySQL/log/mysql.log"
    long_query_time=3
    slow_query_log=1
    slow-query-log_file="G:/phpStudy/MySQL/log/slowquery.log"

    再问个小白问题, QueryLog 是 mysql 命令么?
    mfanming
        10
    mfanming  
    OP
       2016-06-12 12:21:31 +08:00
    @cevincheung
    非主流程序员一枚,暂时解决了,不够用再考虑你的方法,谢谢
    Sunyanzi
        11
    Sunyanzi  
       2016-06-12 13:41:01 +08:00
    @mfanming QueryLog 不是 MySQL 命令 ... 你添加的这些内容都是 MySQL 的配置参数 ...

    以及解决就好 ... 说来我现在看我昨天的回复 ... 也不知道为什么当时说话就那么冲 ... 见谅见谅 ...
    mfanming
        12
    mfanming  
    OP
       2016-06-12 17:33:24 +08:00
    @Sunyanzi 感谢耐心解答,我是运营出身做点技术,小白问题比较多,啦啦啦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     923 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:45 PVG 05:45 LAX 14:45 JFK 17:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86