2016-06-23 8 views
3

Jeder hat die Erfahrung, dass die cloudsql-Replikation diesen Parameter in "true" ändert, was mehrere Anweisungen in einer Transaktion nicht zulässt, oder eine temporäre Tabelle erstellt. Wie kann ich es in cloudsql zurück auf false ändern? Thxset erzwingen-gtid-konsistenz zurück auf false

Antwort

0

H., das ist Danny von CloudSQL. Wir haben GTID für die Replikation verwendet, wodurch während der Replikaterstellung oder des Failovers kein Datenverlust entsteht. Es wird standardmäßig nach MySQL 5.7 sein. Bei aktivierter GTID muss das Flag "enforce-gtid-consistency" gesetzt werden. Wenn diese Option aktiviert ist, wird die GTID-Konsistenz erzwungen, indem nur die Anweisungen ausgeführt werden können, die in einer Transaktionssicheren Weise protokolliert werden können. Daraus folgt, dass die hier aufgeführten Vorgänge nicht mit dieser Option verwendet werden können: 1. CREATE TABLE ... SELECT-Anweisungen 2. CREATE TEMPORARY TABLE-Anweisungen in Transaktionen 3. Transaktionen oder Anweisungen, die sowohl transaktionsbezogene als auch nicht transaktionale Tabellen aktualisieren.

Wenn Sie Ihre Abfrage freigeben können, kann ich Ihnen helfen, einen Durchlauf zu finden, um die temporäre Tabelle von der Mehrfachstatementtransaktion zu trennen. Entschuldigung wegen der Unannehmlichkeiten.

0

Ich habe das gleiche Problem, aber es ist mit Magento 2. Ich kann nicht einfach ändern, wie sie ihre Abfragen tun, so war die einzige Option für mich, einen MSQL-Server in Compute Engine zu bauen.

+0

Dies ist möglich, indem "binary log" auf dem CloudSQL-Server deaktiviert wird. Sie können keine Replikation durchführen. Ich arbeite CloudSQL mit Magento 2. – david