我想将一个大文件导入 MySQL。但是,我不希望将其写入二进制日志,因为导入将花费很长时间,并导致从站远远落后。我宁愿在事后在从站上单独运行它,因为它在系统上会容易得多。有问题的表是一个新表,因此我真的不必担心它不同步,因为主表和所有从表最终都会有相同的数据,因为它们都会导入相同的文件最终。我也不想更改任何replicate-ignore-* 或binlog_ignore-* 选项,因为它们需要重新启动相关服务器。有没有办法运行单个查询而不将其写入二进制日志?
我已经知道答案,但我无法在网上轻松找到它,所以我让某人发布答案以获得一些代表点。如果小白没有答案,我会发布我找到的答案。
您可以使用sql-log-bin http://dev.mysql.com/doc/refman/5.0/en/set-sql-log-bin.htmlsession 变量来关闭当前会话的日志记录。只需简单地输入:
SET sql_log_bin = 0;
并且当前会话的所有查询都不会发送到二进制日志。如果您想重新打开二进制日志记录,请运行:
SET sql_log_bin = 1;
这仅适用于您当前正在运行的会话。来自所有其他连接的所有其他查询仍将继续记录。此外,您必须拥有超级权限才能执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)