Перестроение индекса занимает целую вечность и не завершается


Я пытаюсь перестроить индексы, но это занимает целую вечность и не завершает процесс. Он застревает на плоских данных продукта с сообщением ОБРАБОТКА без другого журнала ошибок или сообщения. Я пытался очистить журнал и другие таблицы БД в качестве обслуживания и оптимизации, но это совсем не помогло. Мы находимся на VPS с более чем 30000 артикулами. Пожалуйста, пожалуйста, посмотрите на скриншот ниже и дайте мне знать, есть ли другие варианты решения этой проблемы. У меня есть уже перепробовал все предложенные варианты на различных форумах.

Index

Команда: php indexer.php --статус

[thestati@server shell]$ php indexer.php --status
Product Attributes:            Pending
Product Prices:                Pending
Catalog URL Rewrites:          Running
Product Flat Data:             Running
Category Flat Data:            Require Reindex
Category Products:             Require Reindex
Catalog Search Index:          Require Reindex
Stock Status:                  Pending
Tag Aggregation Data:          Require Reindex
Default Values:                Pending

Команда: php indexer.php --reindex catalog_category_flat [thestati@server shell]$ php indexer.php --reindex catalog_category_flat Я получаю следующую ошибку:

PS: В БД нет таблицы с именем catalog_category_flat_store_1, хотя у меня есть catalog_category_flat_store_2 и catalog_category_flat_store_3.

SET FOREIGN_KEY_CHECKS=0;# MySQL returned an empty result set (i.e. zero rows). TRUNCATE TABLE catalog_product_flat_1;# MySQL returned an empty result set (i.e. zero rows). SET FOREIGN_KEY_CHECKS=1;# MySQL returned an empty result set (i.e. zero rows).

Category Flat Data index process unknown error:
exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1005 Can't create table 'thestati_magento.catalog_category_flat_store_1' (errno: -1)' in /home/thestati/public_html/catalog/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /home/thestati/public_html/catalog/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /home/thestati/public_html/catalog/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /home/thestati/public_html/catalog/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /home/thestati/public_html/catalog/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /home/thestati/public_html/catalog/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('CREATE TABLE `c...', Array)
#5 /home/thestati/public_html/catalog/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('CREATE TABLE `c...', Array)
#6 /home/thestati/public_html/catalog/lib/Varien/Db/Adapter/Pdo/Mysql.php(2039): Varien_Db_Adapter_Pdo_Mysql->query('CREATE TABLE `c...')
#7 /home/thestati/public_html/catalog/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(604): Varien_Db_Adapter_Pdo_Mysql->createTable(Object(Varien_Db_Ddl_Table))
#8 /home/thestati/public_html/catalog/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(1418): Mage_Catalog_Model_Resource_Category_Flat->_createTable('1')
#9 /home/thestati/public_html/catalog/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(1431): Mage_Catalog_Model_Resource_Category_Flat->_createTables()
#10 /home/thestati/public_html/catalog/app/code/core/Mage/Catalog/Model/Category/Indexer/Flat.php(246): Mage_Catalog_Model_Resource_Category_Flat->reindexAll()
#11 /home/thestati/public_html/catalog/app/code/core/Mage/Index/Model/Process.php(209): Mage_Catalog_Model_Category_Indexer_Flat->reindexAll()
#12 /home/thestati/public_html/catalog/app/code/core/Mage/Index/Model/Process.php(255): Mage_Index_Model_Process->reindexAll()
#13 /home/thestati/public_html/catalog/shell/indexer.php(159): Mage_Index_Model_Process->reindexEverything()
#14 /home/thestati/public_html/catalog/shell/indexer.php(199): Mage_Shell_Compiler->run()
#15 {main}
Author: Kevin S, 2014-04-13

1 answers

Попробуйте выполнить индексацию из командной строки /ssh. Ваш VPS должен обладать такой функциональностью.

Выполните следующие действия из вашей /magento_установки/оболочки

Проверка статуса, если индексы:

php indexer.php --status

Чтобы переиндексировать индекс проблемы, в вашем случае плоские данные продукта

php indexer.php --reindex catalog_product_flat

Дополнительная информация: Как обрабатывать индексы Magento из командной строки

Если в это время возникает ошибка, может возникнуть проблема с вашей конфигурацией mysql или с самой базой данных. Не стесняйтесь размещать соответствующую информацию.

ОБНОВЛЕНИЕ НА ОСНОВЕ НОВОЙ ИНФОРМАЦИИ

Я столкнулся именно с этой проблемой в прошлом году. Вам необходимо создать резервную копию вашей базы данных и получить доступ через phpmyadmin.

В итоге я отбросил таблицы (таблицы) (или вы можете их ОБРЕЗАТЬ).

catalog_product_flat_1
catalog_product_flat_2 

Затем используйте indexer.php для переиндексации.

Вы можете узнать больше об этом здесь

 0
Author: SR_Magento, 2014-04-13 13:17:40