在MySQL主服务器上创建不复制到从属服务器的表

在MySQL主服务器上创建不复制到从属服务器的表,mysql,replication,create-table,Mysql,Replication,Create Table,我有一段脚本,它在MySQL主机上创建一个表,用数据填充它,对数据进行一些处理,然后再次删除该表 我不希望所有这些都被复制到奴隶身上,因为这是浪费时间。有没有办法告诉从属服务器与该表无关,可以在CREATETABLE语句本身中做一些巧妙的事情,也可以设置一个config命令,该命令的状态类似于“不要复制任何以“temp”开头的表”(表名是动态的,允许多个用户使用,但它总是以temp开头) 当然,使用适当的临时表是完美的,但不幸的是,我需要在一个查询中多次引用该表,这是MySQL不允许的。您可以将

我有一段脚本,它在MySQL主机上创建一个表,用数据填充它,对数据进行一些处理,然后再次删除该表

我不希望所有这些都被复制到奴隶身上,因为这是浪费时间。有没有办法告诉从属服务器与该表无关,可以在CREATETABLE语句本身中做一些巧妙的事情,也可以设置一个config命令,该命令的状态类似于“不要复制任何以“temp”开头的表”(表名是动态的,允许多个用户使用,但它总是以temp开头)


当然,使用适当的临时表是完美的,但不幸的是,我需要在一个查询中多次引用该表,这是MySQL不允许的。

您可以将该表放在另一个数据库中

然后做如下陈述:

SELECT a.field1, b.field2 FROM table1 a
INNER JOIN db2.tablex b
.....
对此,有一个解决方案,
但我不确定你会喜欢这个(需要重新启动)

告诉从属SQL线程不要复制任何更新指定表的语句,即使任何其他表可能由同一语句更新。要指定要忽略的多个表,请多次使用此选项,每个表一次


更多

您可以在从机上执行相同的操作,而不是在主机上执行(省去一些麻烦),通常我会这样做,但我们的SQL类会将所有更新和插入(等)发送到主机(如您所想象的),并且告诉它执行其他操作将需要相当多的工作。嗯,这是一个好主意。若并没有内置的方法,我可能会这么做。这让我复制了wild ignore表,它允许使用通配符,非常完美。重启不是问题,因为我们还没有上线。干杯