简体   繁体   English

GTID一致性:CREATE TEMPORARY TABLE和DROP TEMPORARY TABLE只能在事务上下文之外执行

[英]GTID consistency: CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can only be executed outside transactional context

My Magento version is 2.2.3. 我的Magento版本是2.2.3。 We are using a Google Cloud SQL 2nd gen instance. 我们正在使用Google Cloud SQL第二代实例。

Facing error while run indexing command 运行索引命令时遇到错误

General error: 1787 Statement violates GTID consistency: CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can only be executed outside transactional context. 常规错误:1787语句违反了GTID一致性:CREATE TEMPORARY TABLE和DROP TEMPORARY TABLE只能在事务上下文之外执行。 These statements are also not allowed in a function or trigger because functions and triggers are also considered to be multi-statement transactions., query was: CREATE TEMPORARY TABLE IF NOT EXISTS catalog_product_index_eav_temp LIKE catalog_product_index_eav_tmp 这些语句也没有在函数或触发允许的,因为功能和触发器也被认为是多语句事务,查询是:CREATE TEMPORARY TABLE IF NOT EXISTS catalog_product_index_eav_temp LIKE catalog_product_index_eav_tmp

Following the issues posted in Magento 2 Issue Tracker , I was able to get rid of this error by disabling binary logging with the following command: 遵循Magento 2问题追踪器中发布的问题后,我可以通过使用以下命令禁用二进制日志记录来摆脱此错误:

gcloud sql instances patch [INSTANCE_NAME] --no-enable-bin-log

You can also disable binary logging from the web console while creating a Cloud SQL instance: 您还可以在创建Cloud SQL实例时从Web控制台禁用二进制日志记录:

1. Expand "Show Configuration Options"
2. Expand "Enable auto backups and high availability"
3. Uncheck "Enable binary logging"

This means that you cannot currently implement a high availability MySQL instance (with Google Cloud SQL) using Magento 2 community edition. 这意味着您当前无法使用Magento 2社区版实现高可用性MySQL实例(使用Google Cloud SQL)。

You can track the status of issue 12124 for updates. 您可以跟踪问题12124的状态以进行更新。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM