gpt4 book ai didi

mysql - 如何在 MYSQL 中运行查询而不将其写入二进制日志

转载 作者:IT老高 更新时间:2023-10-28 23:41:57 26 4
gpt4 key购买 nike

我想将一个大文件导入 MySQL。但是,我不希望将它写入二进制日志,因为导入会花费很长时间,并且会导致 slave 远远落后。事实上,我宁愿在奴隶上单独运行它,因为它在系统上会容易得多。有问题的表是一个新表,因此我不必担心它会不同步,因为主服务器和所有从服务器最终将拥有相同的数据,因为它们都会导入相同的文件最终。我也不想更改任何 replicate-ignore-* 或 binlog_ignore-* 选项,因为它们需要重新启动相关服务器。有没有办法运行单个查询而不将其写入二进制日志?

我已经知道答案了,但我在网上找不到很容易,所以我让某人发布答案以获得一些代表点。如果没有答案,我会发布我找到的答案。

最佳答案

您可以使用 sql-log-bin session 变量以关闭当前 session 的日志记录。只需输入:

SET sql_log_bin = 0;

并且您当前 session 的所有查询都不会发送到二进制日志。如果要重新打开二进制日志记录,请运行:

SET sql_log_bin = 1;

这仅适用于您所在的当前正在运行的 session 。来自所有其他连接的所有其他查询仍将继续被记录。此外,您必须拥有 SUPER 权限才能使其正常工作。

关于mysql - 如何在 MYSQL 中运行查询而不将其写入二进制日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com