我在AWS RDS上运行mysql 5.6。我也有一个通过RDS中的readreplica的mysql slave。当运行从临时表插入非临时表的存储过程时,复制到从属服务器会出错。
我对mysql文档的阅读是只要我们使用混合模式binlogging(我们这样做)就会处理这种情况。 http://dev.mysql.com/doc/refman/5.6/en/binary-log-mixed.html
这是一个mysql错误还是我错过了什么?使用mysql从属时,这种方法是否不受支持?
导致问题的存储过程是这样的,其中MySummaryTable是非临时表,而tmp_locations_table是临时表:
CREATE TEMPORARY TABLE tmp_locations_table
INSERT INTO MySummaryTable (
accountID,
locationID
)
SELECT
row_data.accountID,
row_data.locationID
FROM tmp_locations_table row_data
GROUP BY
row_data.accountID,
row_data.locationID
ON DUPLICATE KEY UPDATE
locationID=123
我看到的确切的mysql错误并不特别有用:无法在表myschema.MySummaryTable上执行Update_rows事件;无法在“MySummaryTable'”中找到记录,错误代码:1032;处理程序错误HA_ERR_KEY_NOT_FOUND;事件的主日志blahblahblah