【问题标题】:Disable replication for some MySQL queries禁用某些 MySQL 查询的复制
【发布时间】:2013-08-19 21:54:28
【问题描述】:

我有一个 PHP 脚本,它执行大量查询(多个 CREATE TEMPORARY TABLE)以便 UPDATE 一个唯一的表。

我想跳过CREATE TEMPORARY TABLE 上的复制,只复制UPDATE 查询。

我怎样才能做到这一点?我试图禁用mysql_bin_log,但它不起作用(mysql用户具有超级权限)s:

mysql_query("SET sql_log_bin=0;");
$i = mysql_fetch_assoc(mysql_query("SHOW VARIABLES LIKE 'log_bin';"));
var_dump($i['Value']); // Return : ON

【问题讨论】:

  • 你到底想做什么?你能提供你想要实现的实际代码吗...?
  • 正如我所说,我只想跳过通过 php 执行的一些 mysql 查询的复制。我相信实现这一目标的一种方法是禁用二进制日志,但我没有成功......

标签: php mysql replication


【解决方案1】:

您应该使用 replicate-wild-ignore-table=NotRep% 并使用 NotRep 前缀创建表。

CREATE TEMPORARY TABLE NotRepTableForSmthn (...)

详情请参阅http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_replicate-wild-ignore-table

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 2019-10-09
    • 2022-07-15
    相关资源
    最近更新 更多