临时表在MySQL复制中的应用

我们知道临时表具有以下特性:
1。会话级,会话一旦中断,将自动下降。
2。是默认的搜索引擎相关。如果默认引擎InnoDB,你使用一个临时表疯了。所以,你ibdata将无限大。
三.像盘表,默认是写binlog,和被动回退计划增加。

以下场景的幻想:
数据库损坏,没有备份。二进制日志保存得很好,很高兴。将二进制日志导入MySQL。

有两种方法:
1)。*登录MySQL mysqlbinlog dbname…|;管道直接恢复数据,时间短,使用效率更高。但如果有一大堆临时表,而只是在日志中,这是一个悲剧,并导入失败。(回头对临时表的特点。)
2)mysqlbinlog…*。日志> result.log;mysql dbname < result.log;这么长的时间,效率低,占用高的磁盘空间,浪费系统资源很多次。但是导入成功。

如果有大量临时表应用程序,那么在主从复制中采取的正确方法是:(我在08年内这样说过)。
当然,在编写数据时,这是唯一的主机,这应该是在应用程序或客户端上管理MySQL的方法:
复制代码代码如下所示:
{语句}
集sql_log_bin = 0;
关闭会话级副本。
更新tmp_t1,tmp_t2集…;
降tmp_t1;
降tmp_t2;
集sql_log_bin = 1;

打开会话级副本。