管道 MySQL 日志

管道 MySQL 日志

我正在尝试让 mysql 事务日志转到一个脚本,然后从该脚本中将文件写入两个位置(一个映射远程)以实现基本冗余,并可能用于以后的扩展/专门解析。

对于某些应用程序,我可以使用管道连接到脚本,即——log="|/usr/local/bin/processScript"

然而 MySQL 抱怨说,即使脚本的权限为 755,它也无法找到该文件。

我也查看过 FIFO 文件,但不确定它们是否能完成我想要的功能。我真的不想使用任何形式的轮询系统。

对于可能发生的事情或如何实现这一目标,您有什么想法吗?

答案1

使用|/path/to/some/script取决于具体应用程序。部分应用程序可能支持该语法。MySQL 手册没有提及支持这种语法,所以可能不支持它。

为了实现冗余,您应该使用 MySQL 内置复制。此外,您可以启用log-slave-updates选项并使用 mysqlbinlog 从从属上的 binlog 中提取已执行的查询。

另一种可能性是设置DRBD 复制在存储 mysql 常规日志的卷上。

答案2

我认为这是不可能的。为了冗余 - 你为什么不使用常规的 mysql 复制到其他位于本地和异地的 mysql 服务器[在它们上启用 binlog 到文件...这样即使有人执行可怕的 drop table 命令你也能获得数据]?

答案3

之前从未见过将日志文件定义为管道。你确定可以这样做吗?

您是否还考虑过使用二进制日志?快多了!但这意味着您必须处理二进制日志而不是纯文本 - 不过 mysqlbinlog 命令将完成大部分工作。

相关内容