Поддержка Проблемы и решения Ошибка установки соединения с базой данных

  • VPS Debian 8 + Apache+php+mysql
    ставил из репозиториев, конфиги не менял
    Wordpress+woocommerce+плагины (практически последние версии)

    Наверно уже три недели мучаюсь. (
    Ситуация такая — сайт работает и внезапно (через день, два или 5 минут) возникает сообщение «Ошибка установки соединения с базой данных».
    Сайт никто кроме меня не посещает.

    Первое что подумал — mysql. Логи. Пусто.
    Вопрос хостеру — вы ли это? Хостер нет не мы. И, похоже на правду.
    Ведь последнее падение произошло сразу через 5 минут после перезапуска сервера.

    Ресурсы сервера? Проапгрейдил. Слежу за использованием.
    Процессор не нагружается выше 30%, Память около 50-60%. «Дисковой квоты» полно.

    Думаю, что дело в WordPress, woocommerce или плагинах.
    Плагины ставил из WordPress. Все совместимые. Все с высоким рейтингом от 500000 установок.

    Почему думаю что виноват WordPress?
    Часть лога апача

    [Mon Apr 23 17:08:38.715081 2018] [:error] [pid 1233] [client 84.1.159.5:44610] \x85 WordPress \xd0\x83 Lost connection to MySQL server during query \xd0\x81 SELECT option_value FROM wp_options WHERE option_name = 'wbcr_clearfy_disable_comments_for_post_types' LIMIT 1, \xd0\xb9 include('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('wp_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, WbcrCmp_ConfigComments->initWploadedFilters, WbcrCmp_ConfigComments->getDisabledPostTypes, WbcrFactoryClearfy_Configurate->getOption, get_option
    [Mon Apr 23 17:08:39.090893 2018] [:error] [pid 1217] [client 84.1.159.5:34746] \x85 WordPress \xd0x83 Lost connection to MySQL server during query \xd0x81 SELECT option_value FROM wp_options WHERE option_name = 'wbcr_clearfy_disable_comments_for_post_types' LIMIT 1, \xd0\xb9 include('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('wp_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, WbcrCmp_ConfigComments->initWploadedFilters, WbcrCmp_ConfigComments->getDisabledPostTypes, WbcrFactoryClearfy_Configurate->getOption, get_option
    [Mon Apr 23 17:08:39.304561 2018] [:error] [pid 1290] [client 84.1.159.5:36812] \x85 WordPress \xd0x83 Lost connection to MySQL server during query \xd0x81 SELECT option_value FROM wp_options WHERE option_name = 'wbcr_clearfy_disable_emoji' LIMIT 1, \xd0\xb9 include('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, wbcr_clearfy_plugin_init, WbcrFactoryClearfy_Configurate->__construct, WbcrClearfy_ConfigCodeClean->registerActionsAndFilters, WbcrFactoryClearfy_Configurate->getOption, get_option
    [Mon Apr 23 17:08:39.514153 2018] [:error] [pid 1353] [client 84.1.159.5:37566] \x85 WordPress \xd0x83 Lost connection to MySQL server during query \xd0x81 SELECT option_value FROM wp_options WHERE option_name = 'wp_mail_smtp' LIMIT 1, \xd0\xb9 include('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, WPMailSMTP\\Core->init_notifications, WPMailSMTP\\Options::init, WPMailSMTP\\Options->__construct, WPMailSMTP\\Options->populate_options, get_option
    [Mon Apr 23 17:08:39.563516 2018] [:error] [pid 1263] [client 84.1.159.5:43120] \x85 WordPress \xd0x83 Lost connection to MySQL server during query \xd0x81 SELECT option_value FROM wp_options WHERE option_name = 'ossdl_https' LIMIT 1, \xd0\xb9 include('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), include_once('/plugins/wp-super-cache/wp-cache.php'), include_once('/plugins/wp-super-cache/ossdl-cdn.php'), get_option
    [Mon Apr 23 17:08:57.091527 2018] [:error] [pid 1165] [client 84.1.159.5:48346] PHP Warning:  mysqli_query(): (HY000/2013): Lost connection to MySQL server during query in /var/www/html/wp-includes/wp-db.php on line 1924

    Лог апача
    https://cloud.mail.ru/public/2Wsw/yNdtKsbAc

    Что делать?

    • Тема изменена 6 лет назад пользователем unity555.
    • Тема изменена 6 лет назад пользователем Yui.
Просмотр 15 ответов — с 1 по 15 (всего 23)
  • Думаю, что дело в WordPress, woocommerce или плагинах.

    Нет, проблема в базе. (плагины могут только проявлять проблемы базы)
    См аналогичный топик: https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-%d0%b2%d0%be%d1%80%d0%b4%d0%bf%d1%80%d0%b5%d1%81%d1%81-%d0%bf%d1%80%d0%b8-%d0%b7%d0%b0%d1%85%d0%be%d0%b4%d0%b5-%d0%bd/ только разница с вашей проблемой в том, что проявляется на более ранней стадии.

    Кстати, в Вашем случае возможно ещё это признаки сыплющегося HDD.

    Автор unity555

    (@unity555)

    Нет, проблема в базе.

    Как там может быть проблема, когда я ничего там не менял?

    Я понимаю, если установить кучу нестандартного ПО, пару бд, исправить конфиги, поставить кучу непонятых плагинов и..ошибка бд.

    Но я же
    apt-get install -y mysql-server mysql-client php5-mysql
    и далее свежий вордпресс + коммерц + самые популярные плагины.
    Ничего не правил.

    Единственное что .htaccess в корень положил. Для кэширования.

    # This file was updated by Duplicator on 2018-04-04 17:40:50. See .htaccess.orig for the original .htaccess file.
    # Please note that other plugins and resources write to this file. If the time-stamp above is different
    # than the current time-stamp on the file system then another resource has updated this file.
    # Duplicator only writes to this file once during the install process while running the installer.php file.
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    ### Сжать ответ сервера для перечисленных MIME типов
    <ifModule mod_deflate.c>
      <IfModule mod_filter.c>
          AddOutputFilterByType DEFLATE text/plain text/html
          AddOutputFilterByType DEFLATE text/css
          AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
          AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml
          AddOutputFilterByType DEFLATE application/json
          AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon
      </ifModule>
    </ifModule>
    
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    Header append Cache-Con
    

    Как там может быть проблема, когда я ничего там не менял?

    Вы в автомобиле тоже можете ничего не менять, но и дорога и погода и др. участники дорожного движения сильно влияют на скорость и качество Вашего передвижения.

    Вот тут см полезные ссылки если хотите изучить вопрос: https://ru.wordpress.org/support/topic/%d0%b4%d0%be%d0%bb%d0%b3%d0%b8%d0%b9-%d0%be%d1%82%d0%b2%d0%b5%d1%82-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-2/#post-280157

    Автор unity555

    (@unity555)

    Упало снова (свап на этом VPS не сделать)
    <b>dmesg</b>

    
    [    0.000000] B, rss:51844kB, swap:4184kB
    [478454.806189] Out of memory in UB 14558: OOM killed process 2475 (apache2) sco                                         re 0 vm:312588kB, rss:51820kB, swap:4184kB
    [478455.457017] Out of memory in UB 14558: OOM killed process 2511 (apache2) sco                                         re 0 vm:312332kB, rss:50832kB, swap:4244kB
    [478456.201968] Out of memory in UB 14558: OOM killed process 2509 (apache2) sco                                         re 0 vm:312588kB, rss:49476kB, swap:5784kB
    [478456.565262] Out of memory in UB 14558: OOM killed process 2161 (apache2) sco                                         re 0 vm:312864kB, rss:38708kB, swap:15956kB
    [478457.298861] Out of memory in UB 14558: OOM killed process 2482 (apache2) sco                                         re 0 vm:312592kB, rss:46760kB, swap:8452kB
    [478458.032960] OOM killer in rage, 1 tasks killed
    [478458.033277] Out of memory in UB 14558: OOM killed process 2483 (apache2) sco                                         re 0 vm:312588kB, rss:47368kB, swap:8256kB
    [478458.991106] OOM killer in rage, 1 tasks killed
    [478458.991429] Out of memory in UB 14558: OOM killed process 2525 (apache2) sco                                         re 0 vm:312604kB, rss:51252kB, swap:4860kB
    [478459.965511] OOM killer in rage, 2 tasks killed
    [478459.965939] Out of memory in UB 14558: OOM killed process 2474 (apache2) sco                                         re 0 vm:313884kB, rss:52944kB, swap:5440kB
    [478461.701278] Out of memory in UB 14558: OOM killed process 2492 (apache2) sco                                         re 0 vm:312588kB, rss:47556kB, swap:8584kB
    [478462.631246] Out of memory in UB 14558: OOM killed process 2517 (apache2) sco                                         re 0 vm:313884kB, rss:49132kB, swap:8552kB
    [478463.720657] Out of memory in UB 14558: OOM killed process 2533 (apache2) sco                                         re 0 vm:315420kB, rss:47752kB, swap:11892kB
    [478464.034818] Out of memory in UB 14558: OOM killed process 2494 (apache2) sco                                         re 0 vm:313884kB, rss:48412kB, swap:9276kB
    [478464.623155] Out of memory in UB 14558: OOM killed process 2499 (apache2) sco                                         re 0 vm:313884kB, rss:46824kB, swap:11260kB
    [478464.944946] Out of memory in UB 14558: OOM killed process 2162 (apache2) sco                                         re 0 vm:314340kB, rss:42156kB, swap:14096kB
    [478465.499389] Out of memory in UB 14558: OOM killed process 2471 (apache2) sco                                         re 0 vm:313868kB, rss:42748kB, swap:14772kB
    [478466.275669] Out of memory in UB 14558: OOM killed process 2490 (apache2) sco                                         re 0 vm:313884kB, rss:45056kB, swap:12816kB
    [478466.894337] Out of memory in UB 14558: OOM killed process 2510 (apache2) sco                                         re 0 vm:313884kB, rss:42824kB, swap:14768kB
    [478467.366657] Out of memory in UB 14558: OOM killed process 2524 (apache2) sco                                         re 0 vm:313628kB, rss:41300kB, swap:16020kB
    [478468.176185] Out of memory in UB 14558: OOM killed process 2120 (apache2) sco                                         re 0 vm:315676kB, rss:39368kB, swap:18476kB
    [478468.565411] Out of memory in UB 14558: OOM killed process 2493 (apache2) sco                                         re 0 vm:312604kB, rss:45180kB, swap:10968kB
    [478469.488755] OOM killer in rage, 1 tasks killed
    [478469.489069] Out of memory in UB 14558: OOM killed process 2528 (apache2) sco                                         re 0 vm:312604kB, rss:44360kB, swap:11740kB
    [478470.340217] OOM killer in rage, 1 tasks killed
    [478470.344025] Out of memory in UB 14558: OOM killed process 2486 (apache2) sco                                         re 0 vm:312604kB, rss:39352kB, swap:16748kB
    [478472.155949] Out of memory in UB 14558: OOM killed process 2037 (apache2) sco                                         re 0 vm:312868kB, rss:44680kB, swap:11420kB
    [478473.744476] Out of memory in UB 14558: OOM killed process 2416 (apache2) sco                                         re 0 vm:313384kB, rss:36780kB, swap:19316kB
    [478474.535305] Out of memory in UB 14558: OOM killed process 2422 (apache2) sco                                         re 0 vm:314920kB, rss:36296kB, swap:20536kB
    [478476.267336] Out of memory in UB 14558: OOM killed process 2402 (apache2) sco                                         re 0 vm:315488kB, rss:36688kB, swap:18784kB
    [478477.831259] Out of memory in UB 14558: OOM killed process 2181 (apache2) sco                                         re 0 vm:316388kB, rss:44576kB, swap:9544kB
    [478478.248585] Out of memory in UB 14558: OOM killed process 2481 (apache2) sco                                         re 0 vm:316188kB, rss:36872kB, swap:14492kB
    [478478.930061] Out of memory in UB 14558: OOM killed process 2664 (apache2) sco                                         re 0 vm:316712kB, rss:39164kB, swap:7768kB
    [478484.165776] Out of memory in UB 14558: OOM killed process 2730 (mysqld) scor                                         e 0 vm:1386916kB, rss:12752kB, swap:35672kB
    
    

    Out of memory???

    А не жирно ли 1024 мб оперативы для wordpress?

    • Ответ изменён 6 лет назад пользователем unity555.
    anonymized-14765447

    (@anonymized-14765447)

    А не жирно ли 1024 мб оперативы для wordpress?

    Вопрос как-то странно поставлен, если честно. Не возникает желания узнать, куда ресурсы утекают?

    Автор unity555

    (@unity555)

    Вопрос как-то странно поставлен, если честно. Не возникает желания узнать, куда ресурсы утекают?
    Возникает. Осталось понять как.

    Возникает ещё один вопрос — почему при установке вордпресс и популярных плагинов возникла такая ситуация.

    Понятно — поставил не протестированный плагин от Васи — получи сбой.
    Но поставил протестированный плагин с великолепным рейтингом и миллионом скачиваний…и сбой?

    Осталось понять как.

    По ссылкам есть инструменты и несколько докладов от разработчиков. Да, на это нужно потратить время, но оно того стоит. Это не «кино» от любителей.

    почему при установке вордпресс и популярных плагинов возникла такая ситуация.

    Потому что разные и окружения/среды выполнения и наборы компонентов и др условия. Проще говоря — кривая настройка сервера может поломать работу любого вылизанного скрипта.

    anonymized-14765447

    (@anonymized-14765447)

    Возникает. Осталось понять как.

    Доступ по SSH, очевидно, есть, так что для начала htop подойдёт.

    3 последние строчки из лог-файла:

    [Mon Apr 23 17:09:32.770830 2018] [:error] [pid 1357] [client 84.1.159.5:52836]
    База данных WordPress возвратила ошибку Lost connection to MySQL server during query в ответ на запрос SELECT option_value FROM wp_options WHERE option_name = ‘ossdl_https’ LIMIT 1, выполненный include(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), include_once(‘/plugins/wp-super-cache/wp-cache.php’), include_once(‘/plugins/wp-super-cache/ossdl-cdn.php’), get_option

    [Mon Apr 23 17:09:33.493228 2018] [:error] [pid 1203] [client 84.1.159.5:46470]
    База данных WordPress возвратила ошибку Lost connection to MySQL server during query в ответ на запрос SELECT option_value FROM wp_options WHERE option_name = ‘wbcr_clearfy_disable_emoji’ LIMIT 1, выполненный include(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘plugins_loaded’), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, wbcr_clearfy_plugin_init, WbcrFactoryClearfy_Configurate->__construct, WbcrClearfy_ConfigCodeClean->registerActionsAndFilters, WbcrFactoryClearfy_Configurate->getOption, get_option

    [Mon Apr 23 17:09:33.497461 2018] [:error] [pid 1163] [client 84.1.159.5:45860]
    База данных WordPress возвратила ошибку Lost connection to MySQL server during query в ответ на запрос SELECT option_value FROM wp_options WHERE option_name = ‘wbcr_clearfy_disable_emoji’ LIMIT 1, выполненный include(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘plugins_loaded’), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, wbcr_clearfy_plugin_init, WbcrFactoryClearfy_Configurate->__construct, WbcrClearfy_ConfigCodeClean->registerActionsAndFilters, WbcrFactoryClearfy_Configurate->getOption, get_option

    Возникает ещё один вопрос — почему при установке вордпресс и популярных плагинов возникла такая ситуация.

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

    Понятно — поставил не протестированный плагин от Васи — получи сбой.
    Но поставил протестированный плагин с великолепным рейтингом и миллионом скачиваний…и сбой?

    См. выше.

    Модератор Yuri

    (@yube)

    А не жирно ли 1024 мб оперативы для wordpress?

    Смотря что называть «оперативой». Если phpшный memory_limit, то более чем достаточно даже для WP+WC. Если RAM за все про все на всю систему, то разве что для опытов хватит.

    Модератор Yui

    (@fierevere)

    永子

    RAM за все про все на всю систему, то разве что для опытов хватит.

    зависит от настройки, моим редко требуется больше

    Модератор Yui

    (@fierevere)

    永子

    Out of memory???

    А не жирно ли 1024 мб оперативы для wordpress?

    у вас слишком много одновременных форков (копий) процесса apache
    он и выжирает всю память, настраивайте так, чтобы он не клонировался до такой степени

    Модератор Yui

    (@fierevere)

    永子

    напишу немного подробнее,
    раз у вас VPS, я так понимаю с 1 Гб оперативной памяти, то как (в данном случае) правильно заметил Юрий, в конфигурациях по умолчанию такого хватает только для простеньких тестов, потому что:
    (для 64 битной ОС добавьте 10-20% к указанному)
    1. системные сервисы у вас отьели 100 Мб
    2. MySQL с аппетитом скушает 200-300 Мб, если вы его не урежете по самое не балуй
    3. Apache для каждого принимаемого соединения, вне зависимости выполнение ли это скрипта или отдача простенького файла или 404 статуса будет создавать новый процесс, загружать модули расширений, в том числе mod_php, который подгрузит еще и расширения PHP, памяти это занимает уйму, процессор нагружает тоже сильно.
    Если подключений много и в httpd.conf разрешено много форков, то вполне вероятно что кончится память, тем более если нет свапа, но и со свапом система уйдет в глубокие тормоза.

    Решение для вас:
    A) урезать количество возможных форков для апача (конфигурация MPM)
    Б) перейти на другой, более прогрессивный MPM (например threaded), но его тоже надо настраивать
    В) поставить реверс-прокси nginx, который будет обращаться к апачу только по надобности, тем не менее количество форков для апача тоже надо лимитировать
    Г) отказаться от апача вообще, использовать например nginx и php-fpm

    по всему этому хозяйству, напрямую к WordPress не относящемуся, в сети исписаны кучи руководств, хороших и … разных.
    Удачи с освоением нового опыта в системном администрировании.

    Автор unity555

    (@unity555)

    Уважаемый Yui

    И 1Гб мало? Вам не кажется что WordPress зажрался? Или woocommerce зажрался?
    Большинство тарифов хостинга предполагает память до 1Гб.
    И большинство движков, систем прекрасно работают.

    Может тут дело не в памяти, а в нерациональном использовании ресурсов WordPress?

    Модератор Yui

    (@fierevere)

    永子

    у вас впс или хостинг?
    впс предполагает накладные расходы, которые вашу память и кушают,
    поставьте любой другой движок и на любой странице с большим количеством ресурсов у вас сервер также скуксится

    на хостинге обычном накладные расходы общие и в лимит тарифа не входят

    Автор unity555

    (@unity555)

    Yui

    VPS

    поставьте любой другой движок и на любой странице с большим количеством ресурсов у вас сервер также скуксится

    Поставил. Свой. Самописный. Ресурсов там немало, но — все эти ресурсы, компоненты, библиотеки разработаны крупнейшими мировыми корпорациями.
    Работает стабильно 8 месяцев. Тьху-тьху. На 1 ядре и 512 мб. Работает быстро.
    Люди сделали качественный продукт. Написали хороший, официальный, мануал.
    С меня же только php + html и внимательное чтение мануала и использование их библиотек. И знаете — это работает. Быстро, четко, гарантированно, стабильно.
    Но это лирика.

    Хорошо. Мы поняли — мало ресурсов.
    Вопрос — а сколько нужно ресурсов wordpress+oscommerce?
    Процессор, память?
    С учетом нагрузки 3 пользователя онлайн?
    Что нужно для гарантированного результата безотказной работоспособности системы под данной нагрузкой?

Просмотр 15 ответов — с 1 по 15 (всего 23)
  • Тема «Ошибка установки соединения с базой данных» закрыта для новых ответов.