Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка работы с бд поставщика услуг

Предложение от 8host.com

Как устранить ошибку установки соединения с базой данных WordPress

WordPress – одна из популярнейших открытых систем управления контентом. Изначально платформа WordPress разрабатывалась для блогов, однако со временем она стала более гибкой и производительной, и теперь подходит для обслуживания практически любого сайта. WordPress разрабатывается почти 15 лет; сегодня это очень надёжная и ошибкоустойчивая система, однако и в ней иногда случаются сбои и ошибки.

Ошибка установки соединения с базой данных (Error Establishing Database Connection) – одна из самых распространённых ошибок WordPress. Обычно её вызывает:

  • Сбой БД (чаще всего из-за нехватки памяти).
  • Неправильные учётные данные БД в настройках WordPress.
  • Нарушение таблиц базы данных WordPress.

В этом руководстве вы узнаете, как определить причину ошибки установки соединения с БД и исправить её.

Требования

  • Машина с предустановленной платформой WordPress.
  • Доступ к sudo.
  • База данных должна быть запущена на одной машине с WordPress.
  • Учётные данные БД: имя пользователя, пароль и имя базы данных для WordPress. Эта информация была создана во время начальной настройки WordPress.

1: Проверка памяти сервера

Для начала нужно убедиться, что MySQL работает, и что на сервере достаточно памяти для обработки данных WordPress.

Подключитесь к серверу по SSH:

Примечание: Если вы уверены, что правильно указали учётные данные, но у вас по-прежнему возникают проблемы при входе в систему, возможно, на сервере не хватает памяти или он не справляется с большой нагрузкой. Это случается из-за неожиданного роста трафика, и этим можно объяснить ошибку WordPress. Попробуйте перезагрузить сервер и подключиться снова.

Подключившись к серверу, убедитесь, что MySQL работает:

sudo netstat -plt

Команда netstat выводит информацию о сетевой системе сервера. Приведённая выше команда выведет имена программ, которые прослушивают соединения на сокете tcp (флаги –p, –l и –t соответственно). В выводе найдите mysqld:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:mysql *:* LISTEN 1958/mysqld
tcp 0 0 *:ssh *:* LISTEN 2205/sshd
tcp 0 0 localhost:smtp *:* LISTEN 2361/master
tcp6 0 0 [::]:http [::]:* LISTEN 16091/apache2
tcp6 0 0 [::]:ssh [::]:* LISTEN 2205/sshd
tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN 2361/master

Если такая программа есть в выводе команды, значит, сервер MySQL запущен и прослушивает соединения. Если вы не нашли MySQL в списке, попробуйте запустить сервер вручную. Обычно для этого используется команда:

sudo systemctl start mysql

Примечание: В некоторых дистрибутивах Linux (например, в CentOS) используется mysqld вместо mysql.

Сервер MySQL должен запуститься. Чтобы убедиться в этом, снова запустите netstat и найдите в выводе строку mysqld.

Для корректной работы MySQL и WordPress нужно довольно много памяти. Сервер MySQL может прекратить работу из-за нехватки памяти. Чтобы убедиться, что ошибка произошла по этой причине, проверьте логи ошибок MySQL.

zgrep -a «allocate memory» /var/log/mysql/error.log*

Команда zgrep выполнит поиск по логам, включая более старые логи в архиве с расширением .tar.gz. Команда будет искать в логах error.log* из каталога /var/log/mysql/ все строки с пометкой allocate memory.

2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

Если вы видите на экране такую строку (или несколько таких строк), значит, причина ошибки подключения к БД в нехватке памяти для работы MySQL. Возможно, это произошло из-за резкого роста трафика. Если в выводе много таких строк, значит, сервер сталкивается с нехваткой памяти регулярно. В таком случае рекомендуется переместить ресурс на сервер с большим объёмом памяти. Большинство провайдеров облачного хостинга позволяют просто обновить свой сервер с минимальным временем простоя.

Если команда zgrep не вернула ничего, памяти на сервер достаточно для обработки данных WordPress и MySQL. Если ошибка установки соединения с БД не исчезла, нужно проверить настройки WordPress и убедиться, что в них указаны правильные данные о MySQL.

2: Проверка учётных данных MySQL

Если вы недавно переместили установку WordPress на новый сервер (или сменили хостинг-провайдера), вам нужно обновить информацию о БД в настройках WordPress. Они хранятся в PHP-файле wp-config.php.

Найдите этот файл:

sudo find / -name «wp-config.php»

Команда выполнит поиск в root-каталоге и найдёт все файлы wp-config.php. Если такой файл существует, команда выведет путь к нему:

Откройте его в текстовом редакторе:

sudo nano /var/www/html/wp-config.php

Этот файл содержит много переменных и комментариев к ним. В начале файла можно найти строки, отвечающие за настройки БД:

/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name’);
/** MySQL database username */
define(‘DB_USER’, ‘database_username’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘database_password’);

Убедитесь, что эти три переменные содержат правильные данные. Если здесь указаны неправильные значения, откорректируйте их, а затем сохраните и закройте файл (CTRL-O, CTRL-X). Даже если теперь в файле указана валидная информация о БД, стоит попробовать подключиться к базе данных из командной строки, чтобы убедиться, что ошибка исчезла. Скопируйте из конфигурационного файла и вставьте данные в следующую команду:

mysqlshow -u database_username -p

Команда запросит пароль. Вставьте пароль и нажмите Enter. Если вы при этом получили ошибку Access denied, значит, вы указали неправильное имя пользователя или пароль.

Если учётные данные введены правильно, вы увидите на экране список баз данных, к которым есть доступ у текущего пользователя.

Убедитесь, что в этом списке есть БД, указанная в конфигурации WordPress. Перезапустите сайт и убедитесь, что ошибка подключения к БД исчезла.

Читать еще:  Solidworks ошибка при открытии файла

Если исправить ошибку не удалось, попробуйте восстановить БД.

3: Восстановление базы данных WordPress

Иногда база данных WordPress может быть повреждена во время неудачного обновления, сбоя базы данных или из-за неправильного плагина. Эта проблема может отображаться как ошибка установки соединения с базой данных. Если проблему не удалось устранить с помощью предыдущих методов, попробуйте восстановить базу данных.

WordPress предоставляет встроенную утилиту для восстановления БД. По умолчанию она отключена (поскольку к ней нельзя ограничить доступ, а значит, она представляет угрозу безопасности сервера).

sudo nano /var/www/html/wp-config.php

Вставьте в файл такую строку:

Эта строка включает функцию восстановления БД.

Сохраните и закройте файл.

Откройте браузер и перейдите по следующему адресу:

Примечание: Вместо www.example.com укажите свой домен или IP.

На экране появится страница восстановления базы данных:

WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient. […]

Нажмите кнопку Repair Database. На экране появится страница с результатами, где вы сможете отслеживать проверку и исправления в реальном времени.

После этого снова откройте файл wp-config.php и удалите из него строку, которая включает поддержку утилиты восстановления БД.

Проверьте работу сайта. Если WordPress обнаружил в БД ошибки, которые не удалось исправить, попробуйте восстановить БД из резервной копии.

Если утилита WordPress не обнаружила проблем с базой данных, значит, БД также не является источником ошибки соединения. Возможно, это какая-то временная ошибка.

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

Часто источником повышенного трафика (а также низкой производительности и ошибок) являются brute-force атаки. Чтобы узнать, как смягчить атаки WordPress, читайте статью Защита WordPress от взлома XML-RPC в Ubuntu 14.04.

Чтобы сэкономить ресурсы сервера, настройте кэширование WordPress. Полезные инструкции вы найдёте в руководстве Настройка кэширования Redis для ускорения WordPress.

Ошибка установки соединения с базой данных на WordPress: способы решения этой проблемы

При появлении любой ошибки на сайте, её нужно сначала правильно диагностировать, а потом вылечить. В этой статье я расскажу о том, по каким причинам появляется ошибка установки соединения с базой данных на WordPress, и как её можно исправить. Метод лечения зависит от причины.

Приведу причины, от которых появляется эта ошибка по мере их вероятности. Найдите среди них свою и решите проблему.

На главной ошибка есть, а в wp-admin нет

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

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

Итак, если вы диагностировали такой симптом, то для лечения делайте следующее. В корневой папке вашего сайта найдите файл конфигурации wp-config.php. Откройте его и добавьте в него такую строку:

Возможно, эта строка у вас уже есть там. В таком случае исправьте её значение с false на true. Когда это будет готово, наберите в адресной строке браузера адрес такого типа:

Должна появиться такая страница.

Нажмите на ней кнопку «Починить базу данных». Дождитесь завершения процесса. Это займёт некоторое время, чем тяжелее база данных, тем дольше.

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

Файл wp-config.php

Файл wp-config.php – это файл конфигурации WordPress. Он находится в корневой папке сайта. В нём прописаны основные параметры работы сайта. Если возникает ошибка установки соединения с базой данных, то следует проверить следующие параметры:

Проверьте, верно ли указаны имя БД, имя пользователя и пароль БД (вместо звёздочек). Обратите также внимание, что на большинстве хостингов параметр DB_HOST имеет значение localhost, однако на некоторых может быть что-то иное, например, IP адрес сервера базы данных. Что в этом параметре должно быть записано, вам следует узнать в службе поддержки хостинга.

В некоторых случаях в файле wp-config.php может потребоваться изменить этот параметр:

где 0000 – это порт базы данных. Эту информацию тоже можно узнать у хостинга.

Проблема по этой причине может возникнуть при переносе сайта с одного хостинга на другой. Кроме того, это может проявиться, если те или иные параметры базы данных изменились, или если изменился по каким-то причинам файл wp-config.php.

Работоспособность сервера базы данных

Ошибка установки соединения с базой данных может возникать, если сервер БД перестал работать, и если сама база недоступна.

Проверить это можно, перейдя в приложение, которое есть на большинстве хостингов — PHP My Admin. Если вы вошли в него, и видите вашу базу данных, значит всё нормально. Если нет, то сервер БД не работает.

Работоспособность базы данных можно также проверить, задав соответствующий вопрос в службу поддержки хостинга.

Если вы выяснили, что эта причина является источником проблем, то сами вы ничего сделать не сможете. Специалисты хостинга должны будут приложить свои силы.

Это не все причины, по которым может появляться такая ошибка, но самые частые. Если вы всё-таки не смогли решить эту проблему, то пишите на ваш хостинг, обратитесь к ним за помощью.

Читать еще:  Cogen drm ошибка инициализации

Ошибка работы с бд поставщика услуг

Лучший отвечающий

Вопрос

Здравствуйте.
Начал изучение C#. Делаю пример из учебника: создаю и добавляю к проекту чистую базу данных SQL (Local Database — sdf), используется источник данных Microsoft SQL Server Compact 3.5. При открытии sdf-файла из Обозревателя решений либо при подключении БД из Обозревателя баз данных выскакивает ошибка: «Не удалось найти запрошенного поставщика данных .Net Framework. Возможно он не установлен«

На компьютере: ОС Win7 Домашняя Базовая SP1, студия Microsoft Visual Studio 2010 Express SP1, установлены .Net Framework 4.0 Client Profile, 4.0 Extended, 4.0 Multi-Targeting Pack, MS SQL Server Compact 3.5 SP1,SP2, 4.0, MS SQL Server 2008, 2012 Express.

При закрытии и повторном открытии проекта в студии и попытке открыть файл .sdf из Обозревателя решений также появляется ошибка «В файле конфигурации может быть только один раздел «DbProviderFactories»

Я начинающий, потому не могу разобраться в причине. Прошу, помогите решить проблему.

  • Изменено Silver.prm 12 августа 2012 г. 15:56

Ответы

Переустановил ОС, студию С# 2010 Express SP1, Microsoft SQL Server Compact 3.5 SP2, Microsoft SQL Server 2012 Express — все заработало. Переустановка только Microsoft SQL Server Compact 3.5 SP2 и студии не помогала.

  • Помечено в качестве ответа Silver.prm 6 сентября 2012 г. 4:34

Все ответы

Вот файл app.config проекта:

Добавил ссылку на файл System.Data.SqlServerCe.dll, как сказано тут: Установка среды разработки, не помогает. Ошибка та же.

Удалил проект, написал заново (благо пример небольшой), сделал следующее:

1. Добавил ссылку на область имен System.Data.SqlServerCe, как в предыдущем посте

2. Добавляю новый элемент к проекту — Локальная база данных (исп-ся Microsoft SQL Server Compact 3.5), нажимаю Далее. Перехожу в окно «Выбор модели базы данных» , жму Далее

и получаю сообщение об ошибке:

Файла app.config в новом приложении нет, я не создавал. Видимо, нужно его создать и задать конфигурацию? Если да, то что прописать в нем? Может выложите пример? Встречал на одном форуме совет (но для web -приложений), что нужно в web.config сменить провайдера Microsoft.SqlServerCe.Client.3.5 на System.Data.SqlServerCe.3.5 Может и для моего приложения сделать то же в файле app.config? В общем, только начал шарп изучать, а уже голова кругом идет.

В продолжение темы:

1. Нужно ли устанавливать для студии С# 2010 Express инструментарий SSCEServerTools_x86-RUS для работы с SQL Server Compact 3.5 ?

2. Почему спрашиваю: скачал я этот файл, стал устанавливать, а установщик ругается — при проверке конфигурации системы появляется ошибка — не пройдена проверка IIS:

3. В инете нашел, как подключить этот компонент, подключил:

4. Перезагрузил компьютер, проверяю установку IIS, а его нет: диспетчер конфигурации IIS в списке «Службы и приложения»отсутствует и поиск в реестре строки

успеха не принес. Как так может быть — компонент установил, а его нету в установленных?

Отсюда два вопроса:

1) Как мне установить/настроить IIS на компьютере?

2) Может ли отсутствие IIS и, как следствие, невозможность установки SSCEServerTools_x86-RUS явится причиной возникновения ошибки?

P.S. Если вопросы не в тему, скажите куда обратиться. Может я вообще не там копаю?

  • Изменено Silver.prm 15 августа 2012 г. 16:36

В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме

Переустановил ОС, студию С# 2010 Express SP1, Microsoft SQL Server Compact 3.5 SP2, Microsoft SQL Server 2012 Express — все заработало. Переустановка только Microsoft SQL Server Compact 3.5 SP2 и студии не помогала.

  • Помечено в качестве ответа Silver.prm 6 сентября 2012 г. 4:34

Вообще полный копец. Неужели чтоб устранить эту ошибку нужно все переустанавливать .

Подскажите кто знает ответ на этот вопрос. А эта ошибка часто встречается.

  • Изменено Bayarmunko 7 ноября 2012 г. 2:00

Подскажу свое решение ошибки В файле конфигурации может быть только один раздел «DbProviderFactories»>

При установке в IIS приложения Bonodo.Git.Server, оно не запускалось с такой же ошибкой, поиски по интернету не помогли. В конфиге приложения был только один раздел DbProv >, соответвенно где-то в системе был другой конфиг, в котором было несколько таких разделов. Так и оказалось, вам нужно выяснить что это за конфиг и слить несколько разделов в один. Я искал файл с помощью программы Process Monitor ( http://technet.microsoft.com/en-US/bb896645.aspx). Нужно запустить программу, она выдает обращения ко всем файлам и реестру из зо всех программ, нам нужно отследить обращения ко всем конфигам что бы знать в котором искать ошибку, для этого добавим фильтр:

  • Column=Path
  • Reloation=end with
  • Value=.config
  • Action=include

После применения фильтра мы будет видеть только обращения к файлам с расширением config.

Следующим шагом запускаем программу которая выдает ошибку — и после появления ошибки анализируем какие файлы открывались, у меня их было несколько, среди них был файл: C:WindowsMicrosoft.NETFramework64v4.0.30319Configmachine.config

В нем и обнаружил такой фрагмент

Как видно тут два блока DbProviderFactories, после приведения кода к виду:

Блог Алeксандра Сергиенко

Ошибка установки соединения с базой данных в WordPress

Приветствую всех! Наверно все, у кого есть сайты встречались с этим «косячком», но не все знают из-за чего выходит «Ошибка установки соединения с базой данных» и как её устранить. Сегодняшняя статья поведает вам об этом.

Читать еще:  Код ошибки weasel

Не так давно у меня уже во второй раз вышла «Ошибка соединения с базой данных» , а в это время я писал статью, представляете? Вот пишу-пишу, сохраняю статью и бах — «Ошибка установки соединения с базой данных» , прямо капец какой-то .

Сначала подумал: может взломали? И после этого сделал откат и поменял все пароли. Но когда это произошло во второй раз, я был в шоке. Но почитав различную литературу, я понял, что причин может быть масса и во второй раз я уже откат не делал, а сделал всё совсем по-другому. Но прежде чем вы узнаете, как я устранил эту проблему, давайте поговорим о причинах её возникновения и методах решения. Ведь если знаешь чёткий план, то уже не так страшно.

Причины возникновения

Как следствие этой ошибки — wordpress не может установить соединения с базой данных.

А причин этому несколько:

  • Учётные данные, которые вы используете для входа в базу данных неверны или изменены;
  • Сервер базы данных MySQL имеет какую-то ошибку, поэтому не отвечает на запрос;
  • База данных имеет какое-то повреждение;
  • Другие причины (напишите в комментариях, кто знает)

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

Проверка на наличие этой проблемы в при входе в админку (/wp-admin/)

Тут такая штука, бывает, что ошибка установки соединения с базой данных возникает и при переходе в админку блога, тогда этот пункт вам следует пропустить , но если при переходе вы увидите что-то типа «Одна или более таблиц базы данных недоступны. Восстановите базу данных ”, то следует воспользоваться этим способом восстановления. В моём же случае везде выходила одноимённая ошибка установки соединения с базой данных.

В общем, чтобы восстановить базу данных, Вам нужно будет найти файл wp-config.php и внутри него добавить следующую строку:

Далее нужно перейти по следующему адресу:

И вот,что увидите:

Или английский вариант:

Проверка данных в файле wp-config.php

Кто хоть раз устанавливал WordPress, тот в курсе, что в файл wp-config.php необходимо верно внести данные для подключения к базе данных. Например, если вы изменили пароль пользователя базы данных или администратора, а может вообще название базы данных, но не сделали соответствующие правки в файле wp-config.php , то это может быть одной из причин возникновения ошибки.

А правки нужно делать в этой части кода:

define (‘DB_NAME’, ‘database-name’);

define (‘DB_USER’, ‘database-username’);

define (‘DB_PASSWORD’, ‘database-password’);

define (‘DB_HOST’, ‘localhost’);

Следует заметить, что не во всех хостингах DB_HOST именно стоит как localhost , поэтому узнайте как у вас на хостинге и измените, если стоит неверная запись.

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

Проверка MySQL сервера

Одной из причин возникновения ошибки установки соединения с базой данных в wordpress может быть наличие большого трафика на сайт. Сервер просто-напросто не может справиться с нагрузкой и выдаёт эту ошибку некоторым пользователям. Это в большей мере относится к тем сайтам, которые имеют виртуальный хостинг.

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

Если всё же вы не хотите дожидаться ответа от службы поддержки хостинга, можете воспользоваться следующими вариантами:

  • Проверить другой сайт, расположенный на том же сервере (если возможно) на наличие ошибки;
  • Войдите в cPanel и получите доступ к phpMyAdmin . Если не получается это сделать, необходимо проверить имеет ли ваш пользователь права к доступу. Чтобы это сделать, необходимо создать новый файл, например, test1.php и вставить в него код:

Соответственно в пунктах «пользователь» и «пароль» введите свои данные от базы данных. Закиньте этот файл в корень сайта и в строке браузера пропишите путь:

Если на экране увидите какую-либо ошибку при подключении, соответственно, рядом должен быть какой-то комментарий, подробный ответ на который, можно поискать в Интернете.

Если же отобразилась запись «Подключено успешно» , значит вы неправильно внесли пароль и логин в файле wp-config.php , так что внесите правильно и сайт заработает.

Надпись #1045 – Access denied for user ‘foo’@’%’ (using password: YES) при подключении указывает на неправильную комбинацию логина и пароля, проверьте всё и введите правильно.

Если же подключиться так и не получилось, значит, проблема кроется в самом сервере MySQL. Так что звоните провайдеру и узнайте, когда эта проблема будет решена.

Решение этой проблемы может занять значительное время.

Может кто-нибудь знает ещё варианты решения проблемы? Буду рад прочесть их в комментариях.

А вы уже подписались на обновления блога ?

Если у вас нет времени на вышеприведенные манипуляции в статье, рекомендую воспользоваться сервисом фриланса Воркзилла, на этом сервисе вы найдёте хорошего исполнителя (фрилансера), который исправит данную ошибку быстро и дёшево.

С Воркзиллой я давно работаю и как исполнитель и как заказчик, моё мнение — хороший, бюджетный сервис. Иногда лучше обратиться к профессионалам, а не тратить кучу времени впустую, занимайтесь своим делом.

Рекомендую прочесть следующие полезные статьи:

Ссылка на основную публикацию
Adblock
detector