复制是否在副本的所有成员中运行“createtemporary table”命令?

fnvucqvd  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(284)

我想在mysql数据库中创建一个临时表,它是master replication的成员。我运行查询并创建了临时表,但是,该表是在其中一个服务器中创建的,而不是在复制的另一个成员中创建的。我的问题是,不是所有的查询都应该在两个复制成员中运行?

wztqucjr

wztqucjr1#

不,一点也不。
引用手册:
临时表仅在当前会话中可见,并在会话关闭时自动删除。
这意味着,即使在同一服务器上打开另一个连接,也不会看到该表。
因此,在多个服务器上创建临时表是没有意义的,至少在dml语句中不使用临时表时是这样。
如果使用此表执行update、delete或insert语句,则会复制它,但这取决于复制的方式。
如果binlog格式是statement,那么将在复制服务器上的磁盘上,在tmp\u数据变量中指定的目录中创建临时表。
如果它是混合的或行的,它会以行格式传输,如果我没记错的话。

相关问题