Frage

In meinem Magento EE 14.0.1, wenn ich versuche, neu zu indizieren katalog_produkt_flach wie das:

php indexer.php --reinex catalog_product_flat

Nach einigen Minuten wirft es mir diesen Fehler auf:

Product Flat Data index process unknown error:
exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /var/www/magento/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /var/www/magento/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /var/www/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /var/www/magento/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /var/www/magento/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /var/www/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT `enterpr...', Array)
#5 /var/www/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `enterpr...', Array)
#6 /var/www/magento/lib/Zend/Db/Adapter/Abstract.php(753): Varien_Db_Adapter_Pdo_Mysql->query(Object(Varien_Db_Select), Array)
#7 /var/www/magento/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(380): Zend_Db_Adapter_Abstract->fetchRow(Object(Varien_Db_Select))
#8 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(225): Mage_Core_Model_Resource_Db_Abstract->load(Object(Enterprise_Mview_Model_Metadata), '10', NULL)
#9 /var/www/magento/app/code/core/Enterprise/Index/Model/Action/Abstract.php(167): Mage_Core_Model_Abstract->load('10')
#10 /var/www/magento/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.php(136): Enterprise_Index_Model_Action_Abstract->_setChangelogValid()
#11 /var/www/magento/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Product_Flat_Refresh->execute()
#12 /var/www/magento/app/code/core/Enterprise/Catalog/Model/Index/Observer/Flat.php(78): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#13 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Flat->processShellProductReindexEvent(Object(Varien_Event_Observer))
#14 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Flat), 'processShellPro...', Object(Varien_Event_Observer))
#15 /var/www/magento/app/Mage.php(451): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#16 /var/www/magento/shell/indexer.php(167): Mage::dispatchEvent('catalog_product...')
#17 /var/www/magento/shell/indexer.php(212): Mage_Shell_Compiler->run()
#18 {main}

Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /var/www/magento/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /var/www/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/magento/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/magento/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 /var/www/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT `enterpr...', Array)
#4 /var/www/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `enterpr...', Array)
#5 /var/www/magento/lib/Zend/Db/Adapter/Abstract.php(753): Varien_Db_Adapter_Pdo_Mysql->query(Object(Varien_Db_Select), Array)
#6 /var/www/magento/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(380): Zend_Db_Adapter_Abstract->fetchRow(Object(Varien_Db_Select))
#7 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(225): Mage_Core_Model_Resource_Db_Abstract->load(Object(Enterprise_Mview_Model_Metadata), '10', NULL)
#8 /var/www/magento/app/code/core/Enterprise/Index/Model/Action/Abstract.php(167): Mage_Core_Model_Abstract->load('10')
#9 /var/www/magento/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.php(136): Enterprise_Index_Model_Action_Abstract->_setChangelogValid()
#10 /var/www/magento/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Product_Flat_Refresh->execute()
#11 /var/www/magento/app/code/core/Enterprise/Catalog/Model/Index/Observer/Flat.php(78): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#12 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Flat->processShellProductReindexEvent(Object(Varien_Event_Observer))
#13 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Flat), 'processShellPro...', Object(Varien_Event_Observer))
#14 /var/www/magento/app/Mage.php(451): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#15 /var/www/magento/shell/indexer.php(167): Mage::dispatchEvent('catalog_product...')
#16 /var/www/magento/shell/indexer.php(212): Mage_Shell_Compiler->run()
#17 {main}

Next exception 'Enterprise_Index_Model_Action_Exception' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /var/www/magento/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.php:140
Stack trace:
#0 /var/www/magento/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Product_Flat_Refresh->execute()
#1 /var/www/magento/app/code/core/Enterprise/Catalog/Model/Index/Observer/Flat.php(78): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#2 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Flat->processShellProductReindexEvent(Object(Varien_Event_Observer))
#3 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Flat), 'processShellPro...', Object(Varien_Event_Observer))
#4 /var/www/magento/app/Mage.php(451): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#5 /var/www/magento/shell/indexer.php(167): Mage::dispatchEvent('catalog_product...')
#6 /var/www/magento/shell/indexer.php(212): Mage_Shell_Compiler->run()
#7 {main}
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /var/www/magento/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /var/www/magento/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /var/www/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /var/www/magento/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /var/www/magento/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /var/www/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT RELEASE_...', Array)
#5 /var/www/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('SELECT RELEASE_...', Array)
#6 /var/www/magento/app/code/core/Enterprise/Index/Model/Resource/Helper/Mysql4.php(56): Varien_Db_Adapter_Pdo_Mysql->query('SELECT RELEASE_...', Array)
#7 /var/www/magento/app in /var/www/magento/lib/Zend/Db/Statement/Pdo.php on line 234
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /var/www/magento/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /var/www/magento/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /var/www/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /var/www/magento/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /var/www/magento/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /var/www/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT RELEASE_...', Array)
#5 /var/www/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('SELECT RELEASE_...', Array)
#6 /var/www/magento/app/code/core/Enterprise/Index/Model/Resource/Helper/Mysql4.php(56): Varien_Db_Adapter_Pdo_Mysql->query('SELECT RELEASE_...', Array)
#7 /var/www/magento/app in /var/www/magento/lib/Zend/Db/Statement/Pdo.php on line 234

Kein zusätzlicher Fehler im System.protokoll, Ausnahme.protokoll oder PHP-Fehlerprotokoll.Im MySQL-Fehlerprotokoll finde ich diese Warnung, die einige Sekunden zuvor gedruckt wird:

Aborted connection 23157178 to db: 'magento_magento' user: 'usert' host: 'xx.xx.xx.xx' (Got timeout reading communication packets)

Ich habe versucht, max_allowed_packet in der MySQL-Konfiguration auf 64 MB zu setzen, aber ich habe kein Ergebnis.

Irgendeine Idee, bitte?

BEARBEITUNG1:

Ich habe versucht, die zu erhöhen warte_zeitüberschreitung zu 3600 und max_zulässiges Paket zu 999999488 (In Bytes) der Fehler bleibt jedoch bestehen.

Zusätzlich, wenn ich einen anderen Index als ausführe katalog_url_produkt, katalogsuche_volltext oder katalog_produkt_attribute, diese erfolgreich ausgeführt.

Ich weiß nicht, ob es zu tun hat, aber die Datenbank hat Replikation.Ich habe eine Master und eins Sklave, und der Fehler "Zeitüberschreitung beim Lesen von Kommunikationspaketen" erscheint im Protokoll des Master.

War es hilfreich?

Lösung 2

Nun, ich weiß nicht, ob der Fehler zu 100% aufgelöst ist oder nicht.Aber basierend auf dem, was Sie mir hier erzählt haben, und in diesem Beitrag: https://dba.steckexchange.com/questions/40899/Mysql-ror-Reading-Kommunikationspakete , ich tätige diese Änderungen in der MySQL-Konfigurationsdatei:

generasacodicetagpre.

und das in meinem MySQL:

generasacodicetagpre.

Und danach konnte ich alle erfolgreich resinnexieren.Ich weiß nicht, ob in der Tat Innodb-Log-Puffer-Größe und innoDb-log-puffergröße der Trick war.

Ich werde fortsetzen, danke.

Andere Tipps

Dies ist hauptsächlich auf einen der beiden folgenden Gründe zurückzuführen

  1. Server hat eine Zeitüberschreitung und die Verbindung geschlossen.
    beheben:versuchen Sie, die wait_timeout variable in Ihren mysqld's my.cnf/my.ini Konfigurationsdatei.
  2. Der Server hat ein falsches oder zu großes Paket gelöscht.
    beheben :erhöhen Sie die maximale Paketgrößenbeschränkung, indem Sie den Wert von erhöhen max_allowed_packet in my.cnf/my.ini Datei.

Sie haben max_allowed_packet bereits auf 64 MB erhöht, versuchen Sie es auch auf 128 oder mehr zu erhöhen, wenn es nicht funktioniert.
Es scheint nur ein Ressourcenproblem zu sein.
Überprüfen Sie auch, ob die Indexierung aus einem anderen Grund nicht unterbrochen wird, um sicherzustellen, dass der Indexierungsprozess in Ordnung ist.

Versuchen Sie, max_allowed_Packet bis zu mehr zu erhöhen, bis er Ihr Problem behebt. und starten Sie MySQL neu, nachdem Sie diese Einstellung geändert haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top