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

2016-06-11 11:08:26 +08:00
 mfanming

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

1681 次点击
所在节点    问与答
12 条回复
popu111
2016-06-11 11:27:49 +08:00
看源码啊 0w0 或者 dump 出来比对
yeyeye
2016-06-11 11:49:55 +08:00
7.0 的时候是修改了好像是 4 个地方。你问我怎样知道的?

去火车采集器论坛找个相同版本的发布插件就知道了
cevincheung
2016-06-11 12:23:42 +08:00
难道不是 QueryLog
mfanming
2016-06-11 15:13:24 +08:00
@cevincheung 没用过...
mfanming
2016-06-11 15:16:43 +08:00
@yeyeye 明白你的意思,看看插件做了哪些写入和 update 的工作,如果不是发新帖,比如评分,机器人自动回帖,这样的该怎么找呢
mfanming
2016-06-11 15:18:01 +08:00
@popu111 目前是看源码,数据字典里查,然后写出来测试...感觉好慢
Sunyanzi
2016-06-11 19:35:00 +08:00
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
2016-06-11 19:38:06 +08:00
@Sunyanzi

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

@mfanming
别犯懒
mfanming
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
2016-06-12 12:21:31 +08:00
@cevincheung
非主流程序员一枚,暂时解决了,不够用再考虑你的方法,谢谢
Sunyanzi
2016-06-12 13:41:01 +08:00
@mfanming QueryLog 不是 MySQL 命令 ... 你添加的这些内容都是 MySQL 的配置参数 ...

以及解决就好 ... 说来我现在看我昨天的回复 ... 也不知道为什么当时说话就那么冲 ... 见谅见谅 ...
mfanming
2016-06-12 17:33:24 +08:00
@Sunyanzi 感谢耐心解答,我是运营出身做点技术,小白问题比较多,啦啦啦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/284877

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX