Can't connect to local MySQL server through socket

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

18.02.2012 02:50

Стала медленно работать админ. часть. Товар сохранялся около 1,5 минут. А на следующий день вообще перестал сохранять корректировку в товаре и создание нового товара. Товар создается, но не сохраняется и ошибку выдает следующую:

There has been an error processing your request

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Trace:
#0 /var/www/html/lib/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /var/www/html/lib/Varien/Db/Adapter/Pdo/Mysql.php(300): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 /var/www/html/lib/Zend/Db/Adapter/Abstract.php(459): Varien_Db_Adapter_Pdo_Mysql->_connect()
#3 /var/www/html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)
#4 /var/www/html/lib/Varien/Db/Adapter/Pdo/Mysql.php(389): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)
#5 /var/www/html/app/code/core/Mage/Core/Model/Resource.php(169): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')
#6 /var/www/html/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#7 /var/www/html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_read')
#8 /var/www/html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(335): Mage_Core_Model_Resource_Db_Abstract->_getConnection('read')
#9 /var/www/html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(355): Mage_Core_Model_Resource_Db_Abstract->_getReadAdapter()
#10 /var/www/html/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(134): Mage_Core_Model_Resource_Db_Abstract->getReadConnection()
#11 /var/www/html/app/code/core/Mage/Core/Model/Config.php(1350): Mage_Core_Model_Resource_Db_Collection_Abstract->__construct(Object(Mage_Core_Model_Resource_Website))
#12 /var/www/html/app/code/core/Mage/Core/Model/Config.php(1386): Mage_Core_Model_Config->getModelInstance('core_resource/w...', Object(Mage_Core_Model_Resource_Website))
#13 /var/www/html/app/Mage.php(460): Mage_Core_Model_Config->getResourceModelInstance('core/website_co...', Object(Mage_Core_Model_Resource_Website))
#14 /var/www/html/app/code/core/Mage/Core/Model/Abstract.php(208): Mage::getResourceModel('core/website_co...', Object(Mage_Core_Model_Resource_Website))
#15 /var/www/html/app/code/core/Mage/Core/Model/Abstract.php(213): Mage_Core_Model_Abstract->getResourceCollection()
#16 /var/www/html/app/code/core/Mage/Core/Model/App.php(602): Mage_Core_Model_Abstract->getCollection()
#17 /var/www/html/app/code/core/Mage/Core/Model/App.php(460): Mage_Core_Model_App->_initStores()
#18 /var/www/html/app/code/core/Mage/Core/Model/App.php(344): Mage_Core_Model_App->_initCurrentStore('', 'store')
#19 /var/www/html/app/Mage.php(640): Mage_Core_Model_App->run(Array)
#20 /var/www/html/index.php(80): Mage::run('', 'store')
#21 {main}
=======================================================
Перезапустили Appach, админка стала быстрее работать, но ошибки сохранились.
Как можно решить эту проблему?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 07:33

Воспроизводится ли у вас сейчас сбой "Can't connect to local MySQL server through socket" при сохранении любого товара или же лишь некоторых?

#3 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

18.02.2012 10:12

Да, воспроизводится. Но товар записывается. То есть при нажатии записать выдает на синем экране
There has been an error processing your request

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

тоже самое, что выкладывал.
И когда кнопкой браузера попадаю на предидущую страницу все открывается нормалье +

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away


#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 10:16

  • Каково значение параметра wait_timeout вашего сервера MySQL?
  • Каково значение параметра net_read_timeout вашего сервера MySQL?
  • Какое диагностическое сообщение оставляет в такой ситуации сервер баз данных MySQL в своём журнале неполадок?


#5 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

18.02.2012 12:35

wait_timeout | 28800
net_read_timeout | 30

Ошибок в БД нет.

мой админ посмотрел БД и сказад, что она работает прекрасно, рнр подключается к mysql и работает хорошо, ошибок нет. Системный лог показывает, что мysql тоже работает прекрасно. Есть только запись , что он включаеся и выключается var/log/syslog

Все эти параметры можно посмотреть ч/з SSH mysql> SHOW VARIABLES\g

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 12:36

Увеличьте значение net_read_timeout до 300 (5 минут).

#7 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

18.02.2012 14:34

Сделали. Сейчас синий экран с ошибками ушел. Но при редактировании товара, при его сохранении сама страница не закрывается и на ней написана та же ошибка:
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

Еще, попробовал сделать заказ через сам сайт, уже в конце оформления, когда прошел все пункты и осталось только одна кнопка, при нажатии выскочила информация: этого товара нет в наличии или что-то подобное. и меня выбросило в корзину на самое первое оформление. Я не случайно заказал товар с количеством равным его остатку на складе и по хорошему все должно было пройти хорошо.Я пытался удалить теперь этот товар из корзины, но он не удалялся и написано, что его нет. Я вошел в админ. количество этого товара списалась на ноль.Я понял, что заказ сформировался. Да, в заказах я увидел мой заказ. А вот на э/почту он не пришел.
До установки российской сборки я не видел и не знал таких проблем.

И все же, чем это все закончится? Давайте Вы посмотрите своим профессиональным взглядом.

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 16:36

У вас база данных была повреждена:

Цитата

InnoDB: Error: trying to load index PRIMARY for table exp/catalog_product_index_price_opt_agr_idx
InnoDB: but the index tree has been freed!
120218 22:51:33 - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.


Про то, что раньше вы не видели и не знали таких проблем - это, разумеется, неправда: Оплачу работу по устранению сбоя "Cannot initialize the indexer process".

Та проблема с "Cannot initialize the indexer process" - тоже была следствием повреждения БД.

Причём как её так умудрились повредить - понять сложно.


Сейчас я восстановил БД на момент установки Российской сборки - и ошибка пропала.
Название восстановленной БД: exp_2012_02_16_17_20
К ней подключил магазин.

#9 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

18.02.2012 16:50

Дмитрий, сейчас должно работать? Или все таки еще не все в порядке?

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 16:53

Сейчас создал тестовый товар (тест-2012-02-18), сохранил - работает.

Есть две версии сбоя:
1) аппаратная
2) программная

Чтобы защититься от первой, проверьте жёсткий диск сервера на наличие сбойных участков .

Чтобы защититься от второй, перед любыми подозрительными масштабными изменениями (информационный обмен с 1С, пакетный импорт из файлов, другие массовые сложные операции с данными) делайте резервную копию БД (exp_2012_02_16_17_20). Как только повторится сбой - сразу отмечайте, в результате какой операции он произошёл.

#11 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 16:56

Плюс, я включил вам журнал неполадок MySQL.
Диагностические сообщения будут писаться в папку /var/log/mysqld
Как повторится сбой - смотрите или покажите администратору содержимое журнала неполадок.

#12 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 17:03

А административная часть у вас медленно работала по причине отключки кэширования.
Как увидите торможение - смотрите, включено ли кэширование.
При включенном Полностраничном кэшировании Российской сборки административная часть должна работать значительно быстрее, чем на стандартной Magento Community Edition.

#13 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

18.02.2012 17:44

Спасибо, Дмитрий.
Да, ошибок пока нет. Админка работает нормально.
Единственное что пока осталось при быстром тесте- это очень медленно сохраняется настраиваемый товар. Товар простой нормально сохраняется, а вот настраиваемый так долго, что я решил по секундомеру засечь. Получилось 3 минуты 5 секунд. Я один сделал методом копирования старого настраиваемого, думал в этом проблема, но затем сделал абсолютно новый результат сохранения его получил такой же 3 мин 5 сек.
Сейчас и думаю как жить дальше.

#14 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

18.02.2012 18:09

Да, долго.
Может, там при сохранении происходит информационный обмен с 1С, нет?

#15 Владимир Кузьменко
  • Группа: Клиент
  • Сообщений: 119
  • Регистрация: 28.11.2010

19.02.2012 01:52

Да не должно, так как после установки модуля 1С все работало нормально и она затрагивает только простые товары. Обмен делает 1С каждый день автоматически. А где можно посмотреть что делает magento, когда сохраняет настраиваемый товар? Или это сделать(протестировать) невозможно?

#16 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

19.02.2012 02:00

Информацию о том, что так долго делает Magento, можно, видимо, включив встроенный в Magento профилировщикСистема» → «Настройки» → «Настройки повышенной сложности» → «Для разработчика» → «Устранение неполадок (debug)» → «Профилировщик»).

Поделиться темой: