DROPibdata
# 主庫操作
CREATE TEMPORARY TABLE tmp_x AS SELECT * FROM big_table;
UPDATE tmp_x, tmp_y SET ...;
DROP TEMPORARY TABLE tmp_x, tmp_y;
問題:Binlog 記錄了 CREATE TEMPORARY TABLE,從庫重放時:
UPDATE 報錯
SET SESSION SQL_LOG_BIN = 0; -- 僅影響當前連接
CREATE TEMPORARY TABLE tmp_x ...;
UPDATE tmp_x, tmp_y ...;
DROP TEMPORARY TABLE tmp_x, tmp_y;
SET SESSION SQL_LOG_BIN = 1; -- 恢復
binlog_format=ROW?Row 格式記錄行變更,不記錄 CREATE TEMPORARY TABLE,但:
SQL_LOG_BIN=0/1CREATE TEMPORARY TABLE 頻率,異常報警WITH (CTE) 或 內存表替代(MySQL 8.0+)replicate-wild-ignore-table 不生效過濾規則不匹配臨時表(臨時表不在 information_schema.TABLES 中),只能靠 SQL_LOG_BIN 控制。