最近,一个查询开始失败。重新索引目录搜索是 Magento 软件核心(不是模块)中的一个查询。我收到以下错误。
目录搜索索引索引过程未知错误:异常 'PDOException' 带有消息 'SQLSTATE[HY000]:一般错误:1785 当 @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1 时,只能在自动提交语句或单次提交中完成对非事务表的更新语句事务,并且永远不会在与事务表更新相同的语句中。在 /var/www/magento-20171012/mage-webroot/lib/Zend/Db/Statement/Pdo.php:228
我正在运行 MySQL 5.6.35 根据SELECT VERSION();
.
该文档声称 _ 是在 MySQL 5.6.9 中引入的。
此 MySQL 文档声称“拓扑中的所有服务器都必须使用 MySQL 5.7.6 或更高版本。除非拓扑中的所有服务器都使用此版本,否则您不能在任何单个服务器上在线禁用 GTID 事务。”
我在 my.cnf 中没有看到 gtid_mode 并SELECT @@GLOBAL.GTID_MODE;
给了我ON
.
根据文档,我不确定GTID 到底是什么。听起来它用于复制或主/从设置。我没有设置主/从设置,除了备份到 sql 文件之外,我不进行复制,我认为这不是复制的意思。
跑步SELECT @@GLOBAL.GTID_MODE;
给了我ON
。是否正在运行SET @@GLOBAL.GTID_MODE = OFF;
我需要做的所有事情来禁用 GTID 并解决此问题?我已经在我的开发人员中完成了此操作(未显示问题)并且没有任何问题,但我想在将其应用于生产之前获得建议而不了解后果。
禁用 GTID 意味着什么?它会解决我从数据库收到的这个错误吗?