Ошибка базы данных MySQL Server has gone away после обновления WordPress. Ошибка базы данных wordpress
Ошибка установки соединения с базой данных Wordpress
21 июля 2016
Просмотров: 2219
Ошибки всегда неприятны, особенно, когда неожиданно появляются на только что работающем Вордпресс-сайте. К счастью, ошибка установки соединения с базой данных совсем нефатальна и обычно лечится за несколько минут.
Кстати, эта статья появилась в результате небольшого SEO-эксперимента: я случайно собирал ключи для страницы с настройкой рекламы и нашел длинный незанятый SEO-запрос, а именно: "Ошибка установки соединения с базой данных WordPress".
В чём именно заключается мой SEO-эксперимент с этой статьей смотрите в конце текста
А сейчас - за дело! Итак, у вас выскочил белый экран и на нем ошибка установки соединения с базой данных.
Программные файлы доступны на хостинг по FTP-соединению (что такое FTP и как через него зайти на сайт). А база данных использует специальное место на хостинге, доступ в которое осуществляется через специальный сервис, обычно это PhpMyAdmin.
При этом программные файлы используют информацию, хранящуюся в базе данных, чтобы правильно отобразить страницу сайта.
Для этого они получают к ней доступ, используя логин и пароль, заданный при первой настройке сайта на WordPress и хранящийся в файле wp-config.php в корневой (главной) папке сайта.
Выглядит это примерно вот так:
Поэтому если у вас возникает "Ошибка установки соединения с базой данных WordPress" или по английски: "Error establishing a database connection", то проблема заключается в том, что программный файл банально не может получить доступ к базе данных. По любой причине!
То есть получается, что без базы данных программным файлам просто неоткуда взять информацию для правильного отображения вашего сайта.
И следовательно, чтобы решить проблему ошибки установки соединения с базой данных WordPress, нужно проверить следующие моменты:
- Убедиться, что база данных вообще существует. Для этого нужно зайти в панель управления хостингом (доступ выдает хостер при покупке его услуг - что такое хостинг), найти в меню панели ссылку на базы данных, обычно она так и называется "Базы данных", открыть и убедиться что база на хостинге существует.
- Затем нужно зайти в саму базу и убедиться, что в ней есть информация (таблицы и записи), вдруг ее кто-то затер и на хостинге просто висит пустая база данных? Для этого нужно воспользоваться в панели хостинга ссылкой на сервис PhpMyAdmin и ввести логин и пароль от базы данных. Напомню - логин и пароль есть в файле wp-config. В самой базе должны быть какие-то таблицы, она должна весить определенный объем в Кб или Мб, то есть база должна быть непустой, занимать определенное место.
- Если вы вводите логин и пароль и при этом доступ не открывается, значит скорее всего вы обнаружили корень проблемы возникающей ошибки - неправильное имя пользователя или (что скорее всего) неверный пароль. Возможно, вы его сменили для своей базы, а в файлах поменять забыли. Возвращайтесь на первый шаг, заходите в настройки базы данных, меняйте пароль у пользователя и после этого пропишите новый пароль в файле wp-config.php
Таким образом, вам нужно убедиться в том, что логин (имя пользователя) и пароль от базы данных полностью соответствуют тому, что прописано у вас в конфигурационном файле wp-config.
Пароль от базы на хостинге = Паролю от базы в wp-config.php
Ну и в том, что база данных вообще есть, и вы ее случайно не стерли.
Кстати, если даже это произошло и вы обнаружили, что база данных удалена - не спешите паниковать, просто напишите хостеру просьбу о восстановлении бекапа база данных на заведомо рабочую дату и всё!
Любой уважающий себя хостер хранит бекап баз данных своих клиентов как минимум за пару недель. Если ваш хостер этого не делает - повод его сменить. Вот тут есть хостеры, которых я рекомендую и сам использую в работе.
Вот и всё.Ошибка несложная, и статья поэтому небольшая.Если знаете свои способы решения данной ошибки установки соединения с базой сайтов на Вордпресс, пишите в комментариях. А если получилось решить задачу моими способами - ставьте лайки и звезды
SEO-эксперимент!
А сейчас как и обещал немного о SEO-эксперименте, который я решил поставить при написании этой статьи. Напомню, я собирал ключи для других постов на блоге и нашел длинный незанятый ключ: "Ошибка установки соединения с базой данных WordPress".
Его показатель KEI был небольшим, меньше 25 (что такое формула KEI), но при этом было много других сайтов с подобными запросами, только в сокращенной или искаженной форме:
- Ошибка соединения с базой данных wordpress
- Исправляем ошибку установки соединения с базой данных
- Ошибка при установке соединения с базой данных и т.п.
Посмотрите - их нереально много!
Но с прямым вхождением ключа "Ошибка установки соединения с базой данных WordPress" в ТОП-10 Яндекса только 3 сайта.
И я решил выяснить: а если я оптимизирую статью под этот длинный запрос - он "победит" всех конкурентов с этим же запросом, но в другой форме? То есть насколько точная форма запроса помогает продвигаться в поиске.
Или можно особенно не заморачиваться над строгим соответствием в метатегах, заголовках, тексте статьи (читать как вписать ключи, чтобы выйти в ТОП) и важнее все же другие SEO-факторы.
Эксперимент будет продолжаться как минимум пару месяцев, ведь нужно будет отследить динамику роста данной статьи по конкретному запросу.
Кстати, отслеживаю позиции в поиске я вот тут и причем - совершенно бесплатно. Там есть секрет как это делать именно бесплатно, ведь сам по себе сервис платный.
Так что подписывайтесь на обновления блога, в одной из последующих статей я обязательно расскажу о его результатах.
Результаты готовы и очень даже хорошие. Читайте вот тут - внизу есть этот пример со скринами и выводами, все получилось отлично!
moytop.com
Ошибка установки соединения с базой данных
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Что делать?
- Тема изменена 2 мес., 2 нед. назад пользователем unity555.
- Тема изменена 2 мес., 2 нед. назад пользователем Yui.
Таблица Wordpress wp_options повреждена / Ошибка подключения базы данных.
Я слышал, до сих пор на 2015 быть любой вирус или использовать SQL положить "вниз" сотни сайтов и блогов WordPress, Как это было в предыдущие годы, но около месяца странные вещи происходят. Я встретил много сайтов, которые, казалось, потеряли подключение к базе данных.Ошибка установления соединения с базой данных.На практике, когда такая ошибка возникает в WordPress, первые вещи, которые нужно проверить:
- Если служба MySQL работает на сервере. Есть ситуации, в которых Перегрузки сервера которой он является хозяином базы данных службы MySQL / туздЫ больше не бегайте. В этом случае служба терминалов (через ssh или консоль) перезапускается или веб-интерфейс, если такая возможность существует.
- Ошибка конфигурации пользователь / пароль in WP-config.php, В этом случае убедитесь, что пользователь базы данных и имя базы данных правильно установлены в wp-config.php.
Третья ситуация коррупция(необъяснимые до сих пор) стол wp_options от MySQL, Поэтому, прежде чем паниковать, если вы найдете сайт с "Ошибка создания подключения к базе данных", вы должны проверить таблицы базы данных в порядке.
Как проверить и как wp_options WordPress ремонт таблицу в случае поврежден. Отмечено как упал и не должны быть восстановлены.
1. открытый PHPMYADMINМы идем в базе данных сайта, который и пытаются получить доступ к таблице wp_options, Если он поврежден, он будет видеть предупреждение, информирующее это.
В приведенном выше экране примерно таблице wp_options База данных "mobile_apk". Таблица 'SQLdb в Lazarus / wp_options' помечен как разбился, и не должно быть отремонтировано.
2. Выберите Таблица wp_optionsУстановив флажок рядом с ним, а затем перейти к нижней части раскрывающегося меню (с отобранными) и выберите "Ремонт таблице".
3. После этого шага урока, ответ оператора SQL, а затем проверить, если сайт идет в параметрах нормальных.
Пользователи WordPress, у которых нет установленного phpMyAdmin, могут сделать это с терминала / сервера, на котором основана база данных, выполнив команды:
- проверить, если таблица повреждена wp_options:
mysqlcheck -u -c baza_date wp_options user_db -p
- wp_options ремонт таблицу базы данных "baza_date"
mysqlcheck -r -u пользователь -p MYDB wp_options
Это хорошо, что после обеспечения, что сайт вернулся к нормальной, чтобы сделать резервную копию базы данных. даже рекомендуют регулярное резервное копирование. Вы никогда не знаете, :)
WordPress wp_options повреждены таблицы / Ошибка установления соединения с базой данных.ru.stealthsettings.com
Ошибка базы данных MySQL Server has gone away после обновления WordPress
Опубликовал: merfo в WordPress 14.06.2012
Каждый владелец блога на WordPress обновлял движок с старой версии на более новую, при этом во всех случаях вы попадете на страницу, которая просит вас выполнить обновление базы данных. В этих случаях существует вероятность того, что вы можете столкнуться с ошибкой базы данных MySQL Server has gone away. Не паникуйте, эту проблему скорее всего решат вот эти рекомендации.
- Шаг 1. Авторизуйтесь в панели на своем хостинге и войдите в PHPmyAdmin, найдите базу данных вашего сайта, а затем найдите там таблицу wp_options.
- Шаг 2. Теперь ищем пункт db_version, напротив которого в столбце option_value будет стоять определенное цифровое значение.
p/s ваш PHPmyAdmin скорее всего не отобразит весь список полностью, а разобьет его на страницы, поэтому вы должны или пролистать страницы в поиске нужного пункта, или просто выполнить показ 100 елементов (данный пункт находиться на 54 строчке):
- Шаг 3. Подключаемся по FTP к директории сайта или же просто открываем корневой каталог сайта через диспетчер файлов на вашем хостинге.Заходим в папку wp-includes и ищем в ней файл version.php. Открываем файл и смотрим: $wp_version = '3.3.1'; $wp_db_version = 19470; $tinymce_version = '345-20111127'; $manifest_version = '20111113'; $required_php_version = '5.2.4'; $required_mysql_version = '5.0'; $wp_local_package = 'ru_RU';
- Шаг4. В содержании ищем строчку строчка $wp_db_version и сравниваем ее значение из значением что мы узнали из PHPmyAdmin. Нужно убедиться что эти значения одинаковы, если же они разные то вам нужно будет внести изменения в строчку db_version, указав такое же значение как и в файле version.php.
Вот и все, ваш блог снова работает как надо.
2012-06-142wordpress.net
Ошибка установки соединения с базой данных Wordpress
Ни для кого не секрет, что большинство платформ для создания веб-сайтов, и в том числе такая популярная платформа, как WordPress, используют базу данных для хранения информации. Работа с базой данных намного быстрее, чем с файлами поэтому такой подход и набрал большую популярность. Но иногда при мы можем сталкиваться с такой проблемой, как ошибка установки соединения с базой данных WordPress.
Эта ошибка будет выводиться на каждой странице вашего сайта и вы потеряете посетителей, а также доход, который могли получить. В этой статье мы рассмотрим почему возникает ошибка error establishing a database connection wordpress, а также способы борьбы с ней на хостинге и на VPS.
Содержание статьи:
Почему возникает ошибка error establishing a database connection wordpress
Ошибка установки соединения с базой данных wordpress или error establishing a database connection wordpress по-английски может возникать по многим причинам. Давайте сначала рассмотрим почему она может появляться на хостинге. Я раньше размещал свой сайт на хостинге и встречался с ней довольно часто. Тут может три причины:
- База данных не создана. То есть, возможно, раньше она и была, но потом ее кто-то удалил и ее больше нет. Если база данных есть, но она пуста, то wordpress покажет сообщение что он неверно установлен и его нужно переустановить;
- Данные доступа к базе данных в файле wp-config.php указаны неверно. Если хост, пользователь базы или его пароль неверны, то вы не сможете к ней подключиться;
- Достигнут лимит подключений. Обычно, хостинги не хотят чтобы клиенты перенагружали общую базу данных и устанавливают лимит на количество подключений от одного клиента, например, 8. Когда у вас будет большая посещаемость этого станет явно недостаточно и вы будете видеть такую ошибку время от времени, казалось бы, совсем без причины.
На VPS две первые причины все еще актуальны, но к ним добавляется еще несколько, поскольку это ваш сервер и за его работу отвечаете только вы:
- Сервис баз данных не запущен — из-за некоторых ошибок во время работы сервис mariadb или mysql может завершить свою работу и, естественно, что тогда база будет недоступной.
- Если база данных размещена на другом сервере, то, возможно, этот сервер недоступен из сети или был отключен.
Что делать с error establishing a database connection
Теперь попробуем разобрать каждый из вариантов и попытаться понять что делать с error establishing a database connection, а также для предотвращения ее появления в будущем.
1. Базы данных нет
Если базы данных больше не существует, вы ее случайно стерли или ее стер хостер, то у вас есть два пути — либо установить WordPress заново, либо восстановить базу данных mysql из резервной копии. Все настройки базы данных находятся в файле wp-config.php, который находится в корневом каталоге сайта. Скорее всего, на хостинге у вас не будет доступа по SSH и придется довольствоваться FTP.
Вы можете посмотреть как называется база данных в нем:
Затем убедитесь, с помощью Phpmyadmin, что она есть и в ней есть данные:
2. Неверные настройки
Как я уже сказал, все настройки работы с базой данных находятся в файле wp-config.php. Вы можете посмотреть его содержимое через FTP или подключившись к серверу по SSH. Нужные нам параметры находятся в таких переменных:
- DB_NAME — имя базы данных;
- DB_USER — пользователь базы;
- DB_PASSWORD — пароль базы;
- DB_HOST — хост базы;
Проверить правильность ввода логина и пароля вы можете попытавшись войти с помощью них в Phpmyadmin:
Или используя консольную утилиту mysql если можете подключиться по ssh:
mysql -h хост -u пользователь -p имя_базы данных
Если проблема в данных аутентификации, то утилита выдаст ошибку и вы точно будете знать что неверно. Дальше останется найти правильные данные и указать их в файле wp-config.php. Если же данные верные, идем дальше.
3. Ограничения сервера
Если все выше перечисленное не помогло, а ошибка появляется то пропадает сама по себе, то, скорее всего, это признак того, что хостер установил ограничение на количество одновременных подключений к базе данных. Вы можете написать в техподдержку и лимит могут чуть увеличить. Но это не решение. Ваш сайт и дальше будет расти, вы же не думаете останавливаться на достигнутом? Тогда вам нужно переходить на новый хостинг, без таких ограничений, или сразу на VPS. Техподдержка может еще посоветовать вам оптимизировать скрипты, но вы же не будете переписывать WordPress?
Если сейчас нет возможности переходить на новый хостинг, можно настроить плагин кэширования WordPress, например, W3TC, это немного улучшит ситуацию, но не сильно и ненадолго.
4. Сервис mysql не запущен
Эта проблема уже касается только VPS, поскольку на хостингах у вас нет доступа к таким службам и вы не сможете ничего сделать. На VPS вы можете делать все что угодно с любой службой. Чаще всего в качестве сервера баз данных используется MariaDB. Чтобы проверить запущена ли она в CentOS наберите:
systemctl status mariadb
В Ubuntu имя сервиса будет немного отличаться:
systemctl status mariadb-server
Если вы увидите надпись Iactive (dead) значит сервис не запущен. Почему? Это уже другой вопрос. Чтобы восстановить работоспособность сайта попробуйте запустить его:
systemctl start mariadb-server
Чаще всего сервер баз данных падает из-за нехватки памяти для работы движка innodb. Чтобы предотвратить такие падения в будущем можно сделать две вещи:
- Удалить или остановить программы, потребляющие очень много памяти или увеличить количество памяти на сервере;
- Настроить автоматический перезапуск MariaDB в случае, если она упала с помощью systemd. В этом случае вы даже не будете замечать, что были какие-либо проблемы и ошибка error establishing a database connection возникать не будет, но это только пока с памятью все не совсем уж плохо.
Чтобы заставить systemd следить за состоянием сервиса и перезапускать его по мере необходимости создайте файл /etc/systemd/system/mariadb.service.d/restart.conf и добавьте в него такое содержимое:
vi /etc/systemd/system/mariadb.service.d/restart.conf
[Service]Restart=always
Затем обновите конфигурацию сервисов:
systemctl daemon-reload
Мы не вносили изменения в основной файл юнита потому, что он может быть перезаписан при обновлении, и все наши настройки пропадут, такой путь более безопасный. Проверить применилась ли конфигурация вы можете командой:
systemctl show mariadb
Выводы
В этой статье мы разобрали почему возникает ошибка установки соединения с базой данных WordPress, а также как решить эту проблему чтобы она не повторялась и вы не теряли пользователей. Еще одним полезным моментом будет мониторинг, если вы настроите отслеживание работы сервера с помощью Nagios, Monit или Zabbix, то сможете сразу же узнать о возможных проблемах. Надеюсь, эта информация была полезной для вас.
Оцените статью:
Загрузка...losst.ru