Details
-
Type: Improvement
-
Status: Open
-
Priority: Important
-
Resolution: Unresolved
-
Affects Version/s: 4.7.25
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:None
-
Funding Source:Needs Funding
-
Verified?:No
Description
We're trying to migrate an existing enterprise level CiviCRM 4.7 installation into a MySQL 5.7 Percona DB cluster.
Getting error happening when trying to create a Drupal user, with CiviCRM profile on the form
Database Error Code: Statement violates GTID consistency: CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can only be executed outside transactional context. These statements are also not allowed in a function or trigger because functions and triggers are also considered to be multi-statement transactions., 1787
followed by a php error: Fatal error: Uncaught CRM_Core_Exception: [0: Transaction integrity error: Expected to find active frame thrown in .... sites/all/modules/civicrm/Civi/Core/Transaction/Manager.php on line 107
Per https://dev.mysql.com/doc/refman/5.7/en/replication-gtids-restrictions.html the multi-statements transactions are not allowed as they could potentially run using the same global transaction ID (GTID)
There may not be many people that are trying to use MySQL 5.7 clusters, and less with Percona DB, but any advice would be appreciated....
I don't think its a configuration problem, we've tried:
https://dev.mysql.com/doc/refman/5.7/en/replication-options-gtids.html
{{enforce_gtid_consistency = WARN }}
But it does not allow the cluster start with WARN or even OFF. Percona only seems to work with ON for Galera Consistency check.
The DB user has full permissions:
{{GRANT ALL on stage.* to our_db_user@'%' IDENTIFIED BY '*****'; }}