mysql如何记录执行了的update,delete的语句日志?

yybjroam05 2015-05-07 11:30:39
如题,

开启了binlog的话又查看太不方便。有没像apache日志这样的记录方式?

可以很方便的查找。

谢谢。
...全文
1138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yybjroam05 2015-05-07
  • 打赏
  • 举报
回复
我的解决方法还是查了binlog. 用命令: mysqlbinlog mysqlbin-log.000054 | grep 'proid=1019' 这样来搜索。 在网上找的时候还发现一种方式: 开启:update-log 不过没有试过。
wwwwb 2015-05-07
  • 打赏
  • 举报
回复
打开通用日志 show variables like 'log_%'; 在[mysqld] 中輸入 log_output='FILE' log="r:\temp\tmp.log"
ACMAIN_CHM 2015-05-07
  • 打赏
  • 举报
回复
可以打开一般查询日志。
引用
5.11.2. 通用查询日志 如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。 mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。 服务器重新启动和日志刷新不会产生新的一般查询日志文件(尽管刷新关闭并重新打开一般查询日志文件)。在Unix中,你可以通过下面的命令重新命名文件并创建一个新文件: shell> mv hostname.log hostname-old.log shell> mysqladmin flush-logs shell> cp hostname-old.log to-backup-directory shell> rm hostname-old.log 在Windows中,服务器打开日志文件期间你不能重新命名日志文件。你必须先停止服务器然后重新命名日志文件。然后,重启服务器来创建新的日志文件。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧