【问题标题】:Logging of MySQL Queries and Forwarding to Syslog/Event log记录 MySQL 查询并转发到系统日志/事件日志
【发布时间】:2018-10-25 16:51:14
【问题描述】:

我能够启用错误日志、常规查询日志、慢查询日志和二进制日志,并且能够将日志转发到 Syslog。我有几个关于日志记录的问题。

1) 错误日志会自动转发到 Windows 中的事件日志。如何将其他日志也转发到事件日志?

2) 是否可以将多行mysql日志转换为单行。

3) 是否可以在日志文件中添加一些标题或在每个日志行的开头添加一些标签,以便于识别它是哪个日志文件。

4) 在慢查询日志中,一些信息被注释掉了。使用 rsyslog 转发时,这些注释行会在所有 Unix 系统中转发吗?

# User@Host: debian-sys-maint[debian-sys-maint] @ localhost []
# Query_time: 0.000297  Lock_time: 0.000220 Rows_sent: 0  Rows_examined: 0
SET timestamp=1539924163;
select count(*) into @discard from `information_schema`.`EVENTS`;

5) mysqlbinlog 可用于将二进制日志转换为人类可读的格式。有没有一种方法可以在不编写任何自定义脚本的情况下转换二进制文件并将其转发到 syslog? mysql或者rsyslog有办法吗?

【问题讨论】:

  • SET timestamp 如果和以前一样,则表示。

标签: mysql logging mysql-slow-query-log binary-log


【解决方案1】:

1) 错误日志会自动转发到 Windows 中的事件日志。 如何将其他日志也转发到事件日志?

在 MySQL 中没有这样做的功能。

2)是否可以将多行mysql日志转换为单行。

如果不修改 MySQL 源代码,则无法更改慢查询日志的格式。我是hard-coded

  ...
  if (my_b_printf(&log_file,
                  "# Query_time: %s  Lock_time: %s"
                  " Rows_sent: %lu  Rows_examined: %lu\n",
                  query_time_buff, lock_time_buff,
                  (ulong)thd->get_sent_row_count(),
                  (ulong)thd->get_examined_row_count()) == (uint)-1)
    goto err;
  ...

此外,对于记录的每个查询的其他行。

但您可以从 PERFORMANCE_SCHEMA 中获取相关的查询性能信息,甚至可以按查询类型获取摘要。有优点也有缺点。例如看这个博客:https://www.percona.com/blog/2014/02/11/performance_schema-vs-slow-query-log/

3) 是否可以在日志文件中添加一些标题或一些标签 每个日志行的开头,以便于识别哪个 日志文件。

不改变源代码。

4) 在慢查询日志中,注释了一些信息。什么时候 使用 rsyslog 转发,这些注释行是否会转发到 所有的 Unix 系统?

您无法将慢查询日志转发到 syslog。

5) mysqlbinlog 可用于将二进制日志转换为人类可读的 格式。有没有办法可以转换二进制文件并转发 它到系统日志而不编写任何自定义脚本?有没有办法进去 mysql 还是 rsyslog?

没有。

但是您可以使用mysqlbinlog 工具下载远程二进制日志作为备份它们的一种方式。见https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-backup.html

【讨论】:

  • 谢谢比尔。我会检查这个。对其他问题有任何想法吗?
  • 日志中的时间戳在 5.x 和 8.0 中似乎有所不同。您对 mysql 日志中所有可能的时间戳格式有任何想法吗?
  • 我不知道。您可以尽可能轻松地研究源代码。我已经给了你一个实现慢查询日志输出的文件的链接。
猜你喜欢
  • 1970-01-01
  • 2014-05-08
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多