If you are encountering a WordPress error message or white screen, don’t panic. Someone has likely encountered the same message before and it can easily be solved.
This page lists the most common WordPress errors experienced by WordPress users, and provides a starting point for fixing them. At WordPress Support, you will also find links to more detailed pages or forums where a volunteer will be there to help.
The White Screen of Death
Both PHP errors and database errors can manifest as a white screen, a blank screen with no information, commonly known in the WordPress community as the WordPress White Screen of Death (WSOD).
Before resorting to desperate measures, there are a number of reasons for the WordPress white screen of death:
- A Plugin is causing compatibility issues. If you can access the Administration Screens try deactivating all of your Plugins and then reactivating them one by one. If you are unable to access your Screens, log in to your website via FTP. Locate the folder
wp-content/plugins
and rename the Plugin folderplugins_old
. This will deactivate all of your Plugins. You can read more about manually deactivating your plugins in the Troubleshooting FAQ. - Your Theme may be causing the problem. This is especially likely if you are experiencing the white screen of death after you have just activated a new Theme, or created a New Site in a WordPress Network. Log in to the WordPress Administration Screens and activate a default WordPress Theme (e.g. Twenty Twenty-One). If you are using WordPress 5.8 and below, please switch to Twenty Twenty-One theme since the Twenty Twenty-Two theme requires 5.9 and above. If you can’t access your Administration Screens, access your website via FTP and navigate to the
/wp-content/themes/
folder. Rename the folder for the active Theme.
The WP_DEBUG feature often provides additional information.
Internal Server Error
There can be a number of reasons for an Internal Server Error. Here are some thing you can do to solve it:
- The most likely issue is a corrupted
.htaccess
file. Log in to your site root using FTP and rename your.htaccess
file to.htaccess_old
. Try loading your site to see if this has solved your problem. If it works, make sure to visit Settings > Permalinks and reset your permalinks. This will generate a new.htaccess
file for you. - Try deactivating all of your Plugins to see if it is a Plugin issue. If you are unable to access your WordPress Administration Screens, deactivate your Plugins via FTP by following these instructions.
- Switch the Theme to a WordPress default Theme (e.g. Twenty Twenty-One) to eliminate any Theme-related problems. If you are using WordPress 5.8 and below, please switch to Twenty Twenty-One theme since the Twenty Twenty-Two theme requires 5.9 and above.
- Increase the PHP Memory limit
- Try re-uploading the
wp-admin
andwp-includes
folders from a fresh install of WordPress.
Error Establishing Database Connection
If you get a page featuring the message “Error Establishing Database Connection,” this means that there is a problem with the connection to your database and there could be a number of reasons for this. The following are possible reasons and solutions.
Incorrect wp-config.php Information
“Error establishing a database connection” is usually caused by an error in your wp-config.php file. Access your site in your FTP client. Open up wp-config.php
and ensure that the following are correct:
- Database name
- Database username
- Database password
- Database host
Learn more about editing wp-config.php.
If you are sure your configuration is correct you could try resetting your MySQL password manually.
Problems with Your Web Host
The next step is to contact your web host. The following hosting issues may be causing the problem:
- Your database has met its quota and has been shut down.
- The server is down.
Contact your hosting provider to see if either of these issues is causing your problem.
Compromised Website
If you have checked wp-config.php
for errors, and confirmed with your host for hosting issues, it is possible that your site has been hacked.
Scan your site with Sucuri SiteCheck to ensure that it hasn’t been compromised. If it has you should check out My Site was Hacked.
Failed Auto-Upgrade
There will be situations when the WordPress auto-update feature fails. Symptoms include:
- A blank white screen and no information.
- A warning that the update failed.
- A PHP error message.
The WordPress automatic upgrade feature may fail due to a glitch in the connection with the main WordPress files, a problem with your Internet connection during upgrade, or incorrect File Permissions
To update your WordPress site manually, see the Manual Update article.
Connection Timed Out
The connection timed out error appears when your website is trying to do more than your server can manage. It is particularly common on shared hosting where your memory limit is restricted. Here are some things you can try:
- Deactivate all Plugins. If deactivating all the WordPress Plugins on your site resolves the issue, reactivate them one-by-one to see which plugin is causing the problem. If you are unable to access your Administration Screens, read about how to manually deactivate your plugins.
- Switch to a default WordPress Theme. If you are using WordPress 5.8 and below, please switch to Twenty Twenty-One theme since the Twenty Twenty-Two theme requires 5.9 and above. This should rule out any Theme-related problems.
- Increase your memory limit in wp-config.php. If you are on shared hosting you may have to ask your hosting provider to increase your memory limit for you.
- Increase the maximum execution time in your php.ini file. This is not a WordPress core file so if you are not sure how to edit it, contact your hosting provider to ask them to increase your maximum execution time. See below instructions for increasing maximum execution time.
Maintenance Mode Following Upgrade
When WordPress updates, it automatically installs a .maintenance
file. Following upgrade, you may receive a message that says “Briefly unavailable for scheduled maintenance. Please check back in a minute.” The maintenance file may not have been removed properly.
To remove this message do the following:
- Log in to your website using your FTP program
- Delete the
.maintenance
file, which will be found in your site root.
Read more about the maintenance mode issue.
You Make Changes and Nothing Happens
If you are making changes to your website and you do not see the changes in your browser, you may need to clear your browser cache. Your browser stores information about the websites that you visit. This makes it faster to load websites when you visit them because the browser just has to reload information already stored on your computer, rather than downloading it again.
If you make a change to a website and the browser does not think it is significant, it will simply load the data from your cache, and you won’t see your changes. To fix the problem, simply empty your browser cache or close the tab and reopen the link.
Pretty Permalinks 404 and Images not Working
If you are experiencing 404 errors with pretty permalinks and a white screen when you upload images, mod_rewrite may not be enabled in Apache by default. Mod_rewrite is an extension module of the Apache web server software which allows for “rewriting” of URLs on-the-fly. It’s what you need to make pretty permalinks work.
WordPress Multisite networks usually experience this but it can also occur on shared hosting providers or after a site migration or server move.
Reset your permalinks through Settings > Permalinks. If this does not work, you may have to edit the .htaccess
file manually.
# 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
If you are not familiar with editing your .htaccess
file, contact your hosting provider to ask them to turn on mod_rewrite rules. There is more information on pretty permalinks in the WordPress Codex.
Custom Post Type 404 Errors
You may experience problems with 404 errors and custom post types. Try the following steps:
- Make sure that none of your Custom Post Types and single pages have the same name. If they do, rename the single page, including the slug.
- Log in to your WordPress Administration Screens, navigate to Settings > Permalinks. Select the default permalinks. Save. Then reselect your preferred permalinks. This will flush the rewrite rules and should solve your problem.
Specific Error Messages
There are a number of different errors that will appear in your error logs. To access your error logs you will need to turn on debugging and then locate your error log via FTP. The following information will help you to decipher some of the common error messages.
PHP Errors
Below are some common PHP error messages.
Fatal Errors and Warnings
If you receive a warning that WordPress cannot modify header information and headers are already sent, it usually means that you have spaces or characters before the opening tags or after the closing tags. Read how to fix the headers already sent error.
If you are experiencing this problem when you have just installed WordPress you may have introduced a syntax error into wp-config.php
. These instructions will help you to fix the error.
Call to undefined function
An error reading call to undefined function could mean that a WordPress Plugin is trying to find a file or data which isn’t present or accessible in the code. Reasons for this include:
- An error when trying to auto-install or auto-upgrade a Plugin. Try installing or upgrading the Plugin manually.
- An error when trying to auto-install or auto-upgrade a Theme. Try installing or upgrading the Theme manually.
- You may be using an incompatible WordPress Plugin or incompatible Theme. This could happen with older versions of WordPress and a new WordPress Plugin, or if you are trying to use a WordPress Multisite Plugin on a single site installation. Upgrade WordPress to resolve this issue.
- You may be trying to call a function that doesn’t exist. Check
functions.php
for misspellings.
Try deactivating the WordPress Plugin or changing the WordPress Theme that caused the error to appear. If you are unable to do this from within the Administration Screens, you may have to do this manually via FTP.
Allowed memory size exhausted
An Allowed Memory Size Exhausted error means that your WordPress installation doesn’t have enough memory to achieve what you want. You can try out the following steps:
- Increase your memory limit in wp-config.php
- Increase your memory limit by editing
php.ini
. This is not a file that comes with WordPress so if you are unfamiliar with it you should contact your web host about increasing your memory limit.
Maximum execution time exceeded
You may receive a message such as “Maximum execution time of 30 seconds exceeded” or “Maximum execution time of 60 seconds exceeded”. This means that it is taking to longer for a process to complete and it is timing out. There are a number of ways to fix this error.
Editing .htaccess
Make sure you back up .htaccess
before you edit it.
Add the following line to .htaccess
:
php_value max_execution_time 60
Editing php.ini
Add the following to php.ini
max_execution_time = 60
If you are unsure of how to make these changes, or if you are on shared hosting that prevents you from making them yourself, you should contact your hosting provider and ask them to increase your maximum execution time.
Parse errors
Syntax Error
A syntax error means that you have made a mistake while creating your PHP structure. You could, for example, be;
- Missing a
;
at the end of an individual line. - Using curly quotation marks.
- Missing a curly bracket.
When this error appears it will tell you which file the error appears in (functions.php
for example) and approximately which line (it may not always be the exact line so be sure to check just before and just after) in the code.
Unexpected
If you are receiving an error which says ‘parse error: unexpected’ this usually means that you have forgotten to include a character. The most common are:
- Unexpected ‘=’ : you have forgotten to include the $ when referencing a variable
- Unexpected ‘)’ : you have forgotten to include the opening bracket (
- Unexpected ‘(‘ : you have forgotten to include the closing bracket )
- Unexpected T_STRING: you have forgotten a quotation mark or a semi-colon at the end of the previous line
- Unexpected T_ELSE: you have an else statement with no opening if statement
Use of an undefined constant
As with parse errors, “use of an undefined constant” means that you are missing a character. It could be one of the following:
- Missing a $ when referencing a viariable
- Missing quotation marks around array keys
Database Errors
The following errors may appear in relation to your WordPress database.
Error 13 – Cannot Create/Write to File
There are a number of reasons why you may be experiencing this error.
MySQL cannot create a temporary file.
The MySQL variable tmpdir
is set to a directory that cannot be written to when using PHP to access MySQL. To verify this, enter MySQL at the command line and type show variables
. You’ll get a long list and one of them will read: tmpdir = /somedir/ (whatever your setting is.)
To solve this, alter the tmpdir variable to point to a writable directory.
- Find the my.cnf file. On *nix systems this is usually in /etc/. On Windows system, Find the my.ini.
- Once found, open this in a simple text editor and find the [mysqld] section.
- Under this section, find the tmpdir line. If this line is commented (has a # at the start), delete the # and edit the line so that it reads: tmpdir = /writable/dir where /writable/dir is a directory to which you can write. Some use /tmp, or you might also try /var/tmp or /usr/tmp. On Windows, use C:/Windows/tmp.
- Save the file.
- Shutdown MySQL by typing
mysqlshutdown -u -p shutdown
. - Start MySQL by going to the MySQL directory and typing
./bin/safe_mysqld &
. Usually the MySQL directory is in /usr/local or sometimes in /usr/ on Linux systems.
The file permissions are incorrect
Correct the File Permissions.
If none of this make sense and you have someone to administrate your system for you, show the above to them and they should be able to figure it out.
CREATE Command Denied to User
This error occurs when the user assigned to the database does not have adequate permissions to perform the action to create columns and tables in the database. You will need to log in to CPanel or Plesk to give your database user adequate permissions.
Alternatively you can create a new user to assign to your database. If you do create a new user you will need to ensure that it is updated in wp-config.php
.
Error 28
It could be because:
- you are out of space on /tmp (wherever tmpdir is), or,
- you have too many files in /tmp (even if there is lots of free space), or,
- Your cache on your server is full
This is a MySQL error and has nothing to do with WordPress directly; you should contact your host about it. Some users have reported that running a “repair table” command in phpMyAdmin fixed the problem.
Error 145
This indicates that a table in your database is damaged or corrupted. If you are comfortable using phpMyAdmin you can use these instructions on repairing your MySQL database tables.
Always backup your database before performing any actions on it.
If you have not used phpMyAdmin before, or are uncomfortable doing so, contact your web host and ask them to run CHECK/REPAIR on your database.
Unknown Column
An unknown column error can be caused by a missing column in the database. If you have just upgraded WordPress then try manually upgrading again. To update your WordPress site manually, see the Update article.
If you are running a database query when you encounter the error then you may by using incorrect quotation marks for the identifier quote character. This question on Stack Overflow provides more details. Also see the MySQL documentation.
Resources
- MySQL Error Codes and Messages
В статье рассказывается:
- Суть и причины возникновения ошибки установки соединения с базой данных
- Первые шаги устранения ошибки установки соединения
- 3 способа устранения ошибки установки соединения с БД
- Дополнительные методы устранения ошибки установки соединения с БД
- Профилактика возникновения ошибки установки соединения с базой данных
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Ошибка установки соединения с базой данных — довольно частое явление на WordPress, которое может быть вызвано различными причинами. При первом появлении она может добавить седых волос владельцу сайта, ведь доступ к ресурсу будет невозможен, включая и его «админку», и при недостатке знаний ставит в тупик.
Не стоит паниковать и сильно переживать, ошибка установки соединения может быть исправлена относительно простыми методами. В нашей статье мы расскажем, почему возникает данная неисправность, как можно ее устранить, и что делать, чтобы снизить риск ее повторного появления.
Суть и причины возникновения ошибки установки соединения с базой данных
Чтобы понять, что означает “Ошибка установки соединения с базой данных” (Error establishing a database connection) разберемся, как работает WordPress и выясним, что такое база данных.
WordPress – одна из самых популярных CMS – систем., т.е. систем управления контентом. Это программное обеспечение, позволяющее добавлять, удалять и редактировать содержание вашего сайта без знаний языков программирования. Вся информация о контенте хранится в базе данных.
База данных — это и есть совокупность информации, организованная так, чтобы при необходимости компьютер смог ее найти и обработать. Все сведения о вашем WordPress сайте хранится в базе данных на серверах вашего хостинг- провайдера. Любое действие на сайте приводит кому, что WordPress посылает запрос на нужную информацию в базу данных. Если запрос успешно обработан, то пользователь получает нужную информацию.
Одним из наиболее важных файлов в WordPress является wp-config.php файл. Он находится в корневой директории и содержит сведения о конфигурации вашего сайта, в том числе и информацию о подключении к базе данных. Важно, чтобы эта информация была прописана в строго определенном порядке:
- Database Name — Имя базы данных
- Database Username — Имя пользователя базы данных
- Database Password — Пароль пользователя базы данных
- Database Host — Сервер базы данных
Таким образом, в большинстве случаев “Ошибка установки соединения с базой данных” возникает, если информация, описанная выше, указана не верно. Кроме того, ошибка может быть вызвана повреждением базы данных или перегруженностью сервера.
Первые шаги устранения ошибки установки соединения
Рассмотрим основные причины ошибки установки соединения с базой данных и способы их устранения.
Скачать файл
Прежде всего, настоятельно рекомендуем создать резервную копию всей важной информации и обновлять ее после каждого значимого изменения. Тогда вы гарантированно не потеряете данные. А в случае серьезной ошибки и восстановления базы данных, не столкнетесь с необходимостью создания сайта с нуля. Для создания резервной копии используются плагины Duplicator или All-in-One WP Migration.
Есть много программных модулей для резервного копирования, но они не смогут вам помочь при отсутствии доступа в админку.
В такой ситуации нужен плагин ISPmanager или другой модуль, который поможет, управляя хостингом, сделать полное резервное копирование сайта.
При возникновении сложностей стоит воспользоваться технической поддержкой, которая есть на всех платных хостингах. Здесь вам окажут квалифицированную помощь с созданием резервной копии.
3 способа устранения ошибки установки соединения с БД
Проверка памяти сервера
Предположим, вы проверили учетные данные в фале wp-config.php и убедились в их корректности. Следующим шагом следует проверить сервер на наличие памяти. Довольно часто ошибка соединения возникает из-за перегруженности сервера. Если сервер хостинг-провайдера испытывает трудности, то и ваш сайт WordPress будет замедляться.
В первую очередь удостоверимся, что MySQL работает, и памяти для обработки данных WordPress достаточно.
Подключитесь к удаленному серверу через SSH, используя IP-адрес сервера:
ssh 8host@ <server IP>
Затем убедимся, работает ли MySQL с помощью утилиты netstat. Она позволяет отслеживать проблемы, связанные с производительностью сети. Чтобы увидеть список TCP-портов, которые прослушиваются, и имена программ, используйте команду:
sudo netstat -plt
где флаги –p, –l и –t означают program (программы), listening (прослушивание) и TCP соответственно.
В результате выполнения команды вы увидите список. Найдите в нем mysqld – это сервер MySQL:
Если вы видите его в списке, значит, сервер MySQL работает и прослушивает соединения. В противном случае нужно попробовать ручной запуск сервера. Следующая команда полностью перегружает MySQL:
sudo systemctl start mysql
Заметьте, что в некоторых версиях и дистрибутивах Linux используется mysqld или mysql-server, а не mysql. Попробуйте разные варианты, чтобы определить, какой из них применяется в вашей системе.
После выполнения этой команды сервер запустится. Проверьте это с помощью sudo netstat -plt, как описано ранее.
По какой причине сервер MySQL может завершить работу? Эта система очень эффективна и производительна, но не всегда стабильна. Если количество одновременно выполняемых задач велико, то она существенно замедляется. Чтобы минимизировать возможные проблемы, нужно следить за объемом доступной памяти.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 19578
Проверьте log-файлы и ищите в них сообщения об ошибках. Для поиска используйте команду zgrep:
zgrep -a «allocate memory» /var/log/mysql/error.log*
В результате выполнения данной команды вы увидите все log-файлы, содержащие error.log и ‘allocate memory’. Поиск будет выполняться по файлам в директории /var/log/mysql/.
На выводе вы можете увидеть подобную строку:
2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
Это значит, что для корректной работы MySQL не хватает памяти. Именно это и является причиной ошибки подключения к базе данных. Если вы видите не одну такую строку, а несколько, значит, проблема нехватки памяти регулярная. Решается она переносом данных на более мощный сервер. Если сайт размещен на облачном сервере, то хостинг-провайдер в большинстве случаев может обновить сервер быстро и с минимальным простоем.
Читайте также
Если команда zgrep не выдала списка log-файлов, то сервер не испытывает проблем с нехваткой памяти. Значит проблемы установки соединения с базой данных может быть связана неверными учетными данными MySQL.
Проверка учётных данных MySQL
Если вы поменяли хостинг-провайдера или переместили установку WordPress на новый сервер, то информация в файле wp-config.php становится неактуальной. Вам необходимо поменять соответствующие строки в файле, иначе подключение к базе данных будет невозможно.
Чтобы найти этот файл используйте команду find:
sudo find / -name «wp-config.php»
Данная команда будет искать файл с указанным именем в корневой папке. Если он будет найден, то на выходе вы увидите путь к найденному файлу:
/var/www/html/wp-config.php
Чтобы открыть его в текстовом редакторе nano, напишите:
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’);
Вместо ‘database_name’, ‘database_username’ и ‘database_password’ должны быть указаны корректные данные о вашей БД. При необходимости отредактируйте их. На забудьте сохранить файл и выйти из редактора, нажатием CTRL-O, CTRL-X.
Чтобы убедиться, что проблема решена, попробуйте подключиться к базе данных. Для этого наберите команду:
mysqlshow -u database_username -p
Затем введите пароль. Если имя пользователя или пароль не верные, то вы увидите ошибку Access denied. В противном случае на экран будет выведена информация обо всех базах данных, к которым у вас есть доступ.
+———————+
|Databases |
+———————+
| information_schema |
| database_name |
+———————+
Если вы видите имя нужной базы данных в списке, то в файле wp-config.php указаны корректные данные. Теперь можно перезапустить WordPress сайт.
Если после этого ошибка подключения к базе данных не исчезла, то переходите к третьему шагу.
Точный инструмент «Колесо компетенций»
Для детального самоанализа по выбору IT-профессии
Список грубых ошибок в IT, из-за которых сразу увольняют
Об этом мало кто рассказывает, но это должен знать каждый
Мини-тест из 11 вопросов от нашего личного психолога
Вы сразу поймете, что в данный момент тормозит ваш успех
Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.
Только до 16 февраля
Осталось 17 мест
Восстановление базы данных WordPress
Случается, что база данных WordPress оказывается поврежденной. Причин, по которым такое происходит, может быть несколько:
- неудачное обновление;
- сбой базы данных;
- некорректный плагин.
Непосредственно на сайте в таком случае вы все также увидите сообщение — «ошибка установки соединения с базой данных».
Попытаемся восстановить БД. Откройте файл wp-config.php с помощью текстового редактора:
sudo nano /var/www/html/wp-config.php
Вставьте в файл строку:
define(‘WP_ALLOW_REPAIR’, true);
Таким образом включается функция восстановления базы данных. Сохраните файл и закройте его.
Затем откройте браузер и перейдите по следующему URL:
http://www.example.com/wp-admin/maint/repair.php
Не забудьте заменить www.example.com на URL вашего сайта или укажите IP.
Тогда вы увидите следующее сообщение на экране:
WordPress can automatically look for some common database problems and repair them.
Выберите вариант Repair Database. В появившейся странице вы увидите процент проверенных и восстановленных данных.
После восстановления вернитесь к файлу wp-config.php. Удалите из него функцию, ответственную за восстановление базы данных. Это необходимо сделать из соображений безопасности, иначе доступ к восстановлению БД будет у всех.
Если после восстановления базы данных WordPress все еще выдает ошибку о проблеме соединения, восстановите базу данных из бэкапа (резервной копии).
Если же после проверки на странице с результатами вы не увидели исправлений, то ошибка соединения с базой данных не связана с самой базой данных.
Описанные выше способы устранения ошибки соединения зачастую достаточны для решения проблемы. В редких случаях причиной могут быть также вредоносные программы и атаки.
Дополнительные методы устранения ошибки установки соединения с БД
Следующие способы устранения ошибки установки соединения с базой данных категорически не рекомендуется использовать начинающим администраторам WordPress! Переходите к ним только в том случае, если не помогли методы, описанные ранее. Не используйте их, если у вас нет валидной резервной копии вашего сайта!
Читайте также
- Обновление настройки в wp_options
Некоторые пользователи отмечали, что ошибка была устранена после выполнения запроса к БД через phpMyAdmin:
[sql]UPDATE wp_options SET option_value=’ http://your_site.ru’ WHERE option_name=’siteurl’;[/sql]
Где вместо ’your_site.ru ‘укажите URL вашего сайта.
- Подключение к базе данных с правами root
Если вы используете виртуальный сервер и можете воспользоваться root правами, то попробуйте подключиться к БД через файл test.php. В случае успеха, попробуйте также подключиться к БД вашего сайта через файл wp-config.php. Затем проверьте работу сайта.
Работать на сервере под учётной записью root – большая ошибка. Обязательно создайте нового пользователя через phpMyAdmin. Не забудьте внести в wp-config.php файл логин и пароль созданного пользователя.
Профилактика возникновения ошибки установки соединения с базой данных
Никто не застрахован от ошибки установки соединения с базой данных при работе с Вордпресс. Однако, вы можете минимизировать шанс остановки сайта, если будете следовать следующим рекомендациям:
- Тщательно выбирайте хостинг-провайдера, который подходит именно для работы с CMS WordPress. Он должен иметь хорошую техподдержку, обеспечивать высокую скорость и стабильность. Зачастую проблемы в работе сайта связаны именно с хостингом.
- Регулярно делайте бэкап. Вы можете самостоятельно выбрать один из плагинов, например, UpdraftPlus, Duplicator или All-in-One WP Migration.
К сожалению, если вы не имеете доступ в панель управления сайта, то вы не сможете воспользоваться резервной копией. Тогда вам нужно будет воспользоваться программным обеспечением для управления хостингом. Например, ISPmanager. Он позволит вам сделать полную резервную копию сайта.
Если вы не хотите самостоятельно делать бэкап, можете обратиться в техподдержку хостинг-провайдера. Они предложат вам программу для резервного копирования.
Это сообщение об ошибке выглядит довольно серьезно.
Во-первых, перестаньте паниковать!
Но на самом деле, ошибка установки соединения с базой данных довольно распространена.
- Понимание проблемы
- Как исправить ошибку “error establishing a database connection”
- Шаг 1: Свяжитесь со своим хостинг-провайдером
- Шаг 2: Проверьте, не были ли повреждены файлы плагинов или тем
- Шаг 3: Проверьте, не была ли повреждена база данных
- Шаг 4. Проверьте учетные данные подключения к базе данных.
- Шаг 5: Восстановите файлы WordPress
- Как избежать возникновения этой ошибки в будущем?
WordPress использует две основные технологии: PHP и MySQL.
- PHP – это язык программирования. Файлы ядра WordPress написаны на нем.
- MySQL – это система управления базами данных (СУБД). WordPress использует базу данных MySQL для хранения содержимого сайта: записи, страницы, а заголовок сайта, макет виджетов и т. д.
Рассматриваемая в этой статье ошибка возникает, когда WordPress не может получить доступ к информации в базе данных с помощью команд PHP. Когда это происходит, WordPress выводит сообщение «Ошибка при установлении соединения с базой данных».
Несколько причин, из-за которых возникает эта ошибка:
- Неверные учетные данные для входа. Если пароль и изменились, WordPress не сможет получать информацию из базы данных.
- Поврежденные файлы WordPress. Это может возникать при обновлении плагинов, темы оформления и самого WordPress.
- Поврежденная база данных. Например, если вредоносный плагин повредил базу данных изнутри. А также вследствие хакерской атаки, сбоем в теме и т.д.
- Сервер базы данных не работает.
- Большой объем трафика. Из-за этого база данных не может отвечать на запросы. Например, если один из ваших постов стал «вирусным», и одновременно множество пользователей пытаются зайти на ваш сайт.
Сначала порекомендую путь, который быстро решит проблему. Затем я буду копать глубже.
Если ваш сайт работал минуту назад, а сейчас он недоступен, то ошибка может произойти на стороне хостинга. Качественные хостинги предлагают быструю поддержку через чат.
В нем расскажите, что у вас возникла ошибка “error establishing a database connection” и спросите:
- работает ли сервер базы данных;
- нет ли сейчас на сервере скачков активности или трафика.
Служба поддержки хостера сообщит, в порядке ли ваша база данных и есть ли подозрительные действия на сервере.
Если неисправность возникла не на стороне сервера, перейдите к шагу 2.
Например, может быть, вы обновили плагин или тему, и все рухнуло. Или подключили сайт к внешнему сервису, отредактировали файлы вручную. Если вы этого не делали, пропустите этот шаг.
Что можно сделать:
- Подключитесь к хостингу через FTP. Вы можете сделать это с помощью бесплатного инструмента FileZilla.
Чтобы подключиться, необходимо ввести логин и пароль к вашему FTP- аккаунту. Самый простой способ получить их — это поискать первые электронные письма, которые вы получили от провайдера. А также запросить их у службы поддержки хостера.
Затем подключитесь к серверу и перейдите в корневую папку WordPress. Обычно она называется «public_html» или «www».
Если видите перед собой подпапки типа «wp-content» и «wp-admin», то вы находитесь в корне WordPress. Пример:
- Зайдите в папку «wp-content» и переименуйте папку «plugins» . Задайте любое другое имя:
- Вернитесь на сайт и проверьте, не решилась ли проблема.
Если ошибка устранена, то теперь вы знаете, что она была вызвана каким-то плагином. Вернитесь на сервер, переименуйте папку обратно в «plugins». Зайдите в нее и измените имена папок отдельных плагинов. Самый простой способ сделать это — добавить в конце имени нижнее подчеркивание: «_»
Продолжайте, пока не выясните, когда ошибка возникает, а когда нет. Как только вы сузите круг поиска до одного конкретного плагина, удалите его или найдите решение проблемы в интернете.
- Если ошибка сохраняется и после переименования папки «plugins», выполните тот же процесс для папки «themes».
- Если это не поможет, переименуйте обе папки обратно в «plugins» и «themes». Ошибка связана с чем-то другим.
- Зайдите в панель управления WordPress — YOURSITE.com/wp-admin
Если вы видите ту же ошибку: «error establishing a database connection», пропустите шаг.
- Обратите внимание на то, что WordPress предлагает вам сделать. Один из вариантов:
Если увидите сообщение, начинающееся с «One or more database tables are unavailable […]”. Это означает, что нужно «отремонтировать» базу данных.
Сначала подключитесь к сайту через FTP. Перейдите в корневой каталог WordPress и загрузите на свой компьютер файл «wp-config.php».
Откройте его в текстовом редакторе и строку в конце (прямо перед «That’s all, stop editing”):
define('WP_ALLOW_REPAIR', true);
Теперь загрузите файл обратно на сайт (через FTP). Перейдите по адресу YOURSITE.com/wp-admin/maint/repair.php
Вот что вы должны увидеть:
Нажмите любую из кнопок. После завершения автоматического восстановления вернитесь на сайт и посмотрите, исправлена ли ошибка.
Если ошибки нет, отлично! Но вам все равно нужно вернуть файл «wp-config.php» в его предыдущее состояние. Удалите строку, которую добавили, и повторно загрузите файл.
Если ошибка не устранена, перейдите к следующему шагу.
Если пароль и логин от базы данных изменились, возникает ошибка “error establishing a database connection”! Ее Исправление выполняется в файле wp-config.php. Я говорю об этих строках:
define('DB_NAME', 'some_db'); define('DB_USER', 'some_username'); define('DB_PASSWORD', 'some_pass'); define('DB_HOST', 'localhost');
Они содержат всю информацию, необходимую WordPress для подключения к базе данных. Если что-то в ней неверно, соединение не будет установлено.
Скопируйте указанные выше строки, вставьте в окно чата и спросите у службы поддержки хостинга, верны ли данные для подключения к вашей базе данных. Если нет, то специалист предоставит корректные значения для авторизации.
Скопируйте новые учетные данные и поместите их в файл wp-config.php.
define('DB_NAME', 'some_db'); /* это имя базы данных WordPress */ define('DB_USER', 'some_username'); define('DB_PASSWORD', 'some_pass'); define('DB_HOST', 'localhost'); /* это веб-адрес сервера вашей базы данных */
Повторно загрузите файл через FTP. После этого вернитесь на сайт и посмотрите, исправлена ли ошибка. Если нет, переходим к последнему шагу.
Файлы ядра WordPress могут быть повреждены по ряду причин. Но можно восстановить стандартные файлы WordPress, используемые по умолчанию. Самый простой способ сделать это – загрузить чистую версию движка с сайта WordPress.org и установить ее поверх той, которая есть у вас.
Перейдите по этой ссылке и загрузите последнюю версию WordPress. Распакуйте архив и удалите из него папку «wp-content».
Далее подключитесь к своему сайту через FTP, перейдите в корень WordPress, загрузите новые файлы CMS. Перезапишите существующие файлы.
Когда загрузка будет завершена, вернитесь на свой сайт и проверьте результат. Если это не поможет, обратитесь еще раз в службу поддержки хостинга. Расскажите им обо всем, что вы сделали, и попросите помочь.
Идеального способа защиты сайта от ошибок соединения с базой данных нет. Но вероятность возникновения этих проблем можно минимизировать, придерживаясь некоторых правил:
- Работайте только с хостингами, которые оптимизировали свои серверы для работы с WordPress. Благодаря этому вы всегда сможете рассчитывать на квалифицированную поддержку помощь.
- Установите простой плагин резервного копирования, такой как UpdraftPlus. Благодаря ему у вас всегда будет рабочая резервная копия WordPress.
Я надеюсь, что это руководство вам поможет.
Few things are as frustrating as finding that your website is down — particularly if you rely on it for business. The Error Establishing a Database Connection message represents a serious issue and prevents all access to your site, so fixing it is a top priority. However, if you’re not familiar with how WordPress works, it can be a confusing problem.
Don’t fret. Although this error is serious, it’s also highly fixable. With a few troubleshooting steps, you can have your site back online in no time. Here’s what we’ll cover:
- What is the Error Establishing a Database Connection?
- Common Causes of Database Connection Errors
- How to Fix the Error Establishing a Database Connection (4 Steps)
Let’s get started!
Got a WordPress Error? No Problem
You can skip troubleshooting if you sign up for DreamPress hosting. Our friendly WordPress experts are always standing by to solve your website problems — big or small.
Understanding the Error Establishing a Database Connection in WordPress
Before we dig too much into this particular error message, let’s have a brief lesson on how WordPress sites work. Nearly all website information — including post data, plugin settings, login credentials, and more — is stored and organized in a MySQL database.
MySQL
MySQL is a relational database management system that offers practical management tools. You can use MySQL to create, modify, and extract data from relational databases through the SQL programming language. It can also control the access that users have to the database.
Read More
When a visitor comes to your site, WordPress uses PHP to query the database and pull the correct information, which is then displayed as the complete page.
If, for whatever reason, WordPress can’t access your site’s database or it isn’t working properly, the result is an Error Establishing a Database Connection message.
This error prevents the entire page from loading. In fact, you won’t even be able to access the WordPress dashboard (your site’s back end).
If your site uses caching, visitors may still see stored copies of your pages. Therefore, if you catch the error early and resolve the problem before your site’s cache refreshes, you can avoid too many interruptions to your site and business.
Fortunately, as WordPress errors go, a database connection error is usually pretty simple to resolve. The most common cause, by far, is just a mismatch of login credentials for the database.
Common Causes of the Error Establishing a Database Connection
There are four typical causes of the database connection error:
- Incorrect database login credentials. Possibly the most common cause of the Error Establishing a Database Connection is simply that WordPress has incorrect login credentials for your database. This could be either the database name, username, or password. Remember, these login details are different from the ones you use to access your site.
- Database corruption. A WordPress MySQL database contains a lot of information. If any part is deleted or corrupted, the result can be the error in question. Corruption can result from manually tinkering with the database, but it can also just happen as a consequence of normal use. Although MySQL is quite robust, nothing is perfect, and errors do occur.
- WordPress core file corruption. Similarly, corruption can occur in the core WordPress files that make up your site. Even though these files are outside the database, they may sometimes result in the same error.
- Problems with the web server or hosting provider. If problems arise with your host or server (if you’re self-hosting) and WordPress can’t reach it to query the database, it will throw this error. These problems can include outages, data loss, and hardware failures.
As we said, incorrect credentials are the most common cause of the error, but any of these could be the culprit. For that reason, fixing the error can involve some troubleshooting.
How to Fix the Error Establishing a Database Connection in WordPress (In 4 Steps)
Although this is a serious error, it’s fortunately fairly easy to resolve. Below, you’ll find step-by-step instructions for troubleshooting and fixing the problem. Note that you should try each step in order, only moving to the next if one doesn’t work.
Step 1: Check Your WordPress Database Credentials
Since this is the most likely cause of the error, it should also be the first step in your troubleshooting. The first thing you’ll need to do is locate the credentials WordPress is currently using to access your database.
This information is stored in your site’s wp-config.php file. You can use a Secure File Transfer Protocol (SFTP) client to access it.
Alternatively, if your site is hosted with DreamHost, you can access the file system from the DreamHost Control Panel. To do so, sign in to your control panel and navigate to Domains > Websites. Hover the mouse over the domain you’d like to fix, then click ‘manage’ to see the folder icon. Then click on the file folder symbol next to the site that’s experiencing the error.
Inside the file browser, select the folder named after your website, then open wp-config.php. Here, look for three pieces of information — the database name, username, and password. They should be near the top of the file.
With this information in hand, head to your DreamHost Panel and navigate to More > MySQL Databases. Look for the hostname that corresponds to your website’s name. It will be formatted as mysql.yoursitename.com, with “yoursitename” being the name of your website.
If the hostname isn’t on this page, skip down to Step 2 and come back here when you’re done adding it.
In the section called Database(s) on this server, make sure the database name matches the one you pulled from wp-config.php earlier. If it does, this isn’t the problem, and you can move on to the next step.
If it doesn’t match, go back to wp-config.php and update it with the correct database name.
Next, you can find the usernames that have access to each database beside their names on the MySQL Databases page.
To view the password, click on the username. On the page that opens, scroll down to the Current Password field and click on Show.
If the username or password doesn’t match your wp-config.php file, update it with the correct details. Alternatively, if the username matches but the password doesn’t, you could update the database password on the User Details screen.
Step 2: Check Your Database Host Information
If you’ve checked the database login credentials and fixed any errors, but you’re still getting the Error Establishing a Database Connection message, the next thing you should check is your database host information.
The hostname for your database can be found in wp-config.php, right alongside the database name and login credentials.
Note this information, then head back to your DreamHost Panel and navigate to More > MySQL Databases. This time, you’re looking to make sure the hostname in your wp-config.php file is listed on this page. If it’s not, you’ll need to add it.
To add a hostname, simply click on the Add New Hostname button. On the next page, enter the hostname you want to use and select the correct website domain from the dropdown.
When you’re finished, click on Create this MySQL hostname now! Note that it can take a few hours for this new hostname to propagate through the DNS, so feel free to take a break here. When some time has passed, come back and check if your site is working. If you’re still getting the database error message, proceed to the next step.
Step 3: Repair Your WordPress Database
If you’re still receiving the error message, you can try repairing the database to fix possible corruption. We recommend using the built-in WordPress database repair tool for this.
To access it, open up your wp-config.php file and add the following code at the end:
define('WP_ALLOW_REPAIR', true);
Next, open a new browser tab and navigate to https://yoursitename.com/wp-admin/maint/repair.php, replacing “yoursitename” with your website’s actual domain. This will bring up the database repair tool.
Click on Repair Database and let it do its thing. You can choose Repair and Optimize Database if you like, but it takes considerably longer. Either way, when the tool is finished, load your website again and check for the error. If it’s gone, then you’ll know a corrupted database was the cause.
However, if you’re still seeing the error message, head to the next step. Before you do, make sure to head back into wp-config.php and delete the code you added to turn on the tool. If you leave it there, someone with ill intentions could gain access to your site easily.
Step 4: Check if Your Database Server Is Down
If all the above steps have failed, one final possibility is that your database server has gone down. At this point, it’s a good idea to verify with your hosting provider that everything is working correctly.
There are a number of reasons why your database host or server might be experiencing issues:
- Too many simultaneous connections to the database. Some providers have limits on how many connections a server can have at one time.
- Problems with another site on your shared hosting server. If you’re on a shared hosting plan, you’re splitting resources with other sites. If one of them has problems, it can spill over to your site. This is one of the reasons dedicated or managed WordPress hosting plans can be beneficial.
- Hardware troubles. Hardware eventually fails, and it’s possible that the server your database is stored on has done just that. Ideally, your host will have redundancies in place so that if one server goes down, there’s another copy of your data available, but this isn’t always the case — especially if you’re hosting your own database on a home or office server.
Your best bet here is to reach out to your web host and inquire about outages or other known issues. If there are none, you can report your problem and ask the support staff to look into it for you.
At DreamHost, you can always find your support options by clicking on the Support button in the top right corner of your control panel:
DreamHost offers 24/7 support, so you can get help any time you need it.
Additional Tips and Solutions That Have Worked for Other Users
If you’ve tried all of the above tips and you’re still having trouble with the Error Establishing a Database Connection, there are a couple of other options that have worked for some users. You can try these either before or after going through the troubleshooting steps above:
- Update your WordPress site URL. If you’ve recently moved your WordPress installation for any reason (such as moving to a new domain name or migrating to HTTPS), you may need to update your site URL in the database. You can find full instructions for doing so in our knowledge base.
- Reboot your web server. This one might seem a little basic, but sometimes the simplest solutions are the most effective. If you host your database on your own server, try turning it off and back on. Computers are complex, and a simple reboot can fix all manner of odd problems you may be experiencing.
- Ask for help. If you’re not comfortable doing your own troubleshooting, or you’ve tried everything and still can’t get rid of the Error Establishing a Database Connection message, there’s no shame in reaching out for help. You can get in touch with DreamHost support 24/7 by clicking the Support button in your DreamHost panel. You can also try searching on help forums such as Stack Exchange or Quora. Your question may have already been answered on one of these sites. If not, you can always ask.
At this point, you’ve hopefully resolved the issue and gotten your site back up and running.
Get Content Delivered Straight to Your Inbox
Subscribe to our blog and receive great content just like this delivered straight to your inbox.
Further Reading
Want to learn more about fixing common WordPress errors? We’ve got you covered!
- How to Fix the 500 Internal Server Error in WordPress
- How to Fix Syntax Errors in WordPress
- How to Fix the WordPress Not Sending Email Issue
Ready to Fix a Database Connection Issue?
If you’ve gone to check on your website and found yourself greeted by the Error Establishing a Database Connection message, you’re not alone. It’s a common error with relatively simple fixes, so getting your site up and running again shouldn’t be too difficult.
You should follow these steps to troubleshoot a database connection error:
- Check your WordPress database credentials.
- Check your database host information.
- Repair your WordPress database.
- Check if your database server is down.
If you’d rather not have to deal with these types of problems in the future, consider upgrading to DreamPress, our managed WordPress hosting service. Then you can leave the troubleshooting to us!
Окт 22, 2020
Elena B.
7хв. читання
В этом руководстве мы будет обсуждать различные методы устранения ошибки Error establishing a database connection в WordPress.
Проще говоря, это сообщение об ошибке указывает на то, что вашему сайту не удалось получить информацию из базы данных, необходимую для отображения страницы.
WordPress использует PHP в качестве основного языка и систему управления базами данных MySQL. Каждый раз, когда кто-то посещает ваш сайт, определённые команды PHP извлекают информацию о вашем сайте из базы данных и показывают её пользователю. Если этого не произойдёт, ваш сайт не сможет загрузиться, и появится сообщение об ошибке WordPress.
База данных — это программное обеспечение, используемое для удобной организации, хранения и извлечения данных в другое программное обеспечение. Поскольку WordPress является CMS, он использует базу данных для хранения всего содержимого вашего WordPress сайта. Таким образом, когда пользователь выполняет любые действия на вашем сайте, он отправляет запрос к базе данных.
Как результат ошибки Error establishing a database connection в WordPress, ваш сайт становится недоступным и теряет трафик.
Продолжайте читать это руководство, чтобы узнать все причины появления этой ошибки и пути её устранения.
Как устранить “Error Establishing a Database Connection” в WordPress?
Вот пять наиболее распространённых решений, с помощью которых можно исправить ошибку WordPress Error establishing a database connection. Но прежде чем вы попробуете, рекомендуем загрузить резервную копию данных вашего сайта. Вы можете найти больше информации о том, как это сделать, здесь.
Методы быстрого исправления ошибки
- Проверка данных для подключения к базе данных
- Восстановление базы данных WordPress
- Исправление повреждённые файлов
- Проверка сервера вашей базы данных
- Создание новой базы данных
Метод 1. Проверка данных для подключения к базе данных в wp-config.php
Одна из наиболее распространённых причин возникновения ошибок при попытке установить соедниение с базой данных, связана с неправильными учётными данными для входа. Это обычно происходит после того, как владелец веб-сайта переходит к другому хостинг-провайдеру. Если и интерфейс, и серверная часть вашего сайта выдают ошибку, этот метод должен решить проблему.
В первую очередь вам нужно проверить, совпадает ли информация для входа в базу данных с той, что ваш сайт хранит в файле wp-config.php.
Чтобы получить доступ к файлу wp-config, используйте FTP-клиент, например FileZilla, или файловый менеджер WordPress в панели управления хостингом.
Если вы решили использовать файловый менеджер, перейдите в папку /public_html/, щёлкните правой кнопкой мыши по файлу wp-config.php и выберите «Редактировать».
Затем найдите следующие данные:
- DB_NAME – имя базы данных
- DB_USER – имя пользователя
- DB_PASSWORD – пароль
- DB_HOST – сервер базы данных
После этого перейдите в Базы данных MySQL и найдите своё текущее имя базы данных в разделе Список текущих баз данных и пользователей MySQL. Там вы увидите следующую информацию: имя базы данных, пользователя БД и хост.
Если данные для входа в вашем файле wp-config.php отличаются от тех, что вы нашли в разделе базы данных MySQL, измените информацию в файле wp-config.php.
Отредактируйте эти строки:
define('DB_NAME', 'в_этой_строке_введите_текущее_имя_вашей_базы_данных'); define('DB_USER', 'в_этой_строке_введите_ваше_текущее_имя_пользователя'); define('DB_HOST', 'в_этой_строке_введите_ваш_текущий_localhost');
Завершив редактирование файла, обновите ваш WordPress сайт, чтобы узнать, исчезла ли ошибка Error establishing a database connection.
Если ошибка не исчезла, возможно, значение DB_PASSWORD по-прежнему остаётся неправельным. Чтобы решить эту проблему, вам необходимо сбросить пароль MySQL.
Для этого просто вернитесь в меню Базы данных MySQL, щёлкните по своей текущей базе данных и выберите Изменить пароль. После ввода нового пароля нажмите кнопку Обновить.
Если имя вашей базы данных, имя пользователя и хост указаны правильно, стоит проверить информацию о хосте базы данных. Как правило, с WordPress в качестве хоста базы данных компании веб-хостинга используют localhost. В то время как компании управляемого WordPress хостинга могут использовать отдельные серверы.
В таком случае вам нужно будет связаться с вашей хостинговой компанией, чтобы узнать информацию о хосте вашей базы данных.
Обратите внимание, если вы недавно изменили хостинг-провайдера, обязательно дважды проверьте данные DB_HOST. В большинстве случаев localhost не меняется, но некоторые веб-хосты используют IP-адрес или другой URL.
Метод 2. Восстановление базы данных WordPress
Ваша база данных может быть повреждена, если на панели администратора WordPress отображается сообщение об ошибке вроде One or more database tables are unavailable. The database may need to be repaired (Одна или несколько таблиц недоступны. База данных должна быть восстановлена). Эта ошибка появится только на сервере, тогда как на сайте вы увидите сообщение error establishing a database connection.
К счастью, вы можете легко восстановить базу данных, вставив следующую функцию в файл wp-config.php:
define('WP_ALLOW_REPAIR', true);
Обязательно убедитесь, что вставили функцию перед разделом “That’s all, stop editing! Happy blogging.”
Сохранив изменения, перейдите на http://www.vashsite.com/wp-admin/maint/repair.php. Здесь у вас будет два варианта восстановления вашей базы данных.
Выберите необходимую вам опцию – Починить базу данных или Починить и оптимизировать базу данных.
После восстановления базы данных не забудьте вернуться к файлу wp-config.php и удалить функцию. Это очень важно, поскольку, если вы этого не сдеалете, любой сможет получить доступ к URL-адресу страницы восстановления БД без входа в систему.
Метод 3: Исправление повреждённые файлов
Ещё одна возможная причина появления сообщения Error Establishing a Database Connection – повреждённая тема или плагин.
Если вы недавно установили новую тему, причина может именно в ней. Чтобы проверить это, перейдите в Внешний вид -> Темы и попробуйте активировать любой другой из доступных там шаблонов.
Ещё один способ – отключить все плагины, а затем активировать их по очереди, чтобы найти виновника.
Если вы не можете зайти в панель управления WordPress, отключите тему или плагины, переименовав соответствующие папки в файловом менеджере панели управления хостингом.
Войдите в файловый менеджер и откройте папку wp_content, которая находится в каталоге public_html. Затем переименуйте текущую используемую тему или папку plugins. Это отключит вашу тему или все ваши плагины сразу.
Помните, что не следует отключать темы и плагины WordPress одновременно, чтобы выяснить причину проблемы.
Например, сначала переименуйте папку plugins, а затем обновите сайт. Если ошибка исчезнет и вы сможете получить доступ к панели управления WordPress, значит, вы точно знаете, что проблема в одном из плагинов.
Но как узнать, какой именно плагин WordPress вызывает проблему?
Что ж, отключив их все, восстановите исходное имя папки plugins. Плагины WordPress по-прежнему будут неактивны, но теперь вы сможете изменять настройки в админке.
После этого активируйте плагины WordPress один за другим, каждый раз перезагружая свой сайт. Продолжайте делать это до тех пор, пока не найдёте тот, который вызывает ошибку error establishing a database connection.
Совет: Не забудьте удалить тему или плагин, которые вызывают ошибку.
Если это не сработает, вы также можете попробовать повторно загрузить основные файлы WordPress. Для этого скачайте свежую версию WordPress и распакуйте архив на свой компьютер. Внутри папки удалите файл config.php и папку wp-content. После их удаления откройте FTP-клиент и загрузите оставшиеся файлы в папку root WordPress.
Таким образом, вы безопасно перезапишите все эти файлы на вашем реальном сервере.
Метод 4: Проверка сервера вашей базы данных
Если вы попробовали описанные выше методы, но WordPress по-прежнему не может установить соединение с базой данных, возможно, ваш сервер MySQL не работает.
Это может произойти по многим причинам, но одна из них связана с интенсивным трафиком на сервере. Это когда ваш хост-сервер не может обработать количество пользователей, пытающихся получить к нему доступ, что приводит к ошибке соединения.
Если причина в трафике, ваш сайт станет медленным и может выдать сообщение error establishing a database connection. Это обычно происходит, когда на серверах хостинг-провайдера есть ограничения. В таком случае обратитесь к своему провайдеру веб-хостинга и попросите его проверить, отвечает ли ваш сервер MySQL.
Если у вас более одного сайта, которые используют один и тот же сервер, проверьте работает ли ваш SQL-сервер и на них.
Пользователям, у которых только один сайт, рекомендуется перейти в панель управления хостингом, войти в phpMyAdmin и подключиться к базе данных.
Если вам удастся установить соединение, проверьте, есть ли у вашего пользователя БД WordPress необходимые права.
Создайте новый файл с именем testconnection.php (или любым другим, которое вы можете запомнить с расширением .php) и вставьте в него этот код:
<?php $link = mysqli_connect('localhost', 'пользователь', 'пароль'); if (!$link) { die('Could not connect: ' . mysqli_error()); } echo 'Connected successfully'; mysqli_close($link); ?>
Обязательно замените имя пользователя и пароль своей информацией. Затем загрузите этот файл на сайт и попробуйте зайти на него в браузере.
Если соединение с базой данных будет успешно установленно, это означает, что у вашего пользователя достаточно прав, и что причина ошибки error establishing a database connection в чём-то другом.
Если ваш веб-сайт размещён на общем сервере, а трафик продолжает расти, нагрузка на сервер будет тоже увеличиваться, что может вызвать проблему соединения с базой данных. Плагины кеширования, такие как W3 Total Cache, WP Rocket или WP Super Cache – хорошие инструменты, которые помогут предотвратить дальнейшие проблемы.
Метод 5: Создание новой базы данных
Если ни один из вышеперечисленных методов не помог, значит ваша база данных может быть полностью повреждена и не подлежит восстановлению.
В таком случае вам необходимо создать новую базу данных MySQL и пользователя. Для этого перейдите на страницу Базы данных MySQL и заполните форму вверху.
Создав новую базу данных MySQL, импортируйте (англ.) резервную копию БД, чтобы не делать всё с нуля.
Дополнительные методы
Если ни один из перечисленных выше методов не помог, вот ещё несколько бонусных советов, которые сработали для других пользователей.
- Обновите WordPress. Перейдите в свою панель управления, затем в phpMyAdmin > База данных WordPress. Щелкните по SQL в верхнем меню и вставьте следующий код:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
- Попросите помочь вам. Нет ничего плохого в том, чтобы попросить о помощи. Обратитесь в свою хостинговую компанию или в службу поддержки клиентов. Они, наверняка, помогут устранить проблему с подключением, приняв необходимые меры за вас или показав, как это сделать.
- Перезагрузите сервер. Пользователи выделенных серверов, локальных серверов и VPS (виртуальных частных серверов) также могут попытаться перезагрузить свои серверы. При перезапуске веб-сервера и сервера базы данных некоторые ошибки могут просто исчезнуть.
- Восстановите последнюю резервную копию. Это следует делать только в том случае, если вы не боитесь потерять данные, которые были добавлены после последнего резервного копирования. Проверьте, есть ли у вашего хостинга функция автоматического создания бэкапов, чтобы узнать, когда была создана последняя резервная копия. Возможно, вам придётся восстановить как вашу базу данных, так и ваши файлы.
Возможные причины ошибки
Есть несколько причин, по которым на сайте WordPress может появится сообщение «Error Establishing a Database Connection»:
- Неверные данные для подключения к базе данных. Если были внесены какие-либо изминения в учётные данные для подключения к БД, изменилось имя пользователя или пароль, старые данные, хранящиеся в ваших файлах WordPress, будут недействительными.
- Повреждённая база данных. Может быть результатом попытки взлома, сбоя в работе плагина или установки несовместимой темы.
- Всплеск трафика. Внезапный рост спроса может привести к тому, что ваша база данных перестанет отвечать из-за слишком большой нагрузки на сервер.
- Нерабочий сервер базы данных. Иногда сервер, на котором хранятся файлы вашего сайта, может не работать по какой-либо причине.
Прежде чем предпринимать какие-либо действия по устранению ошибки, проверьте, отображается ли сообщение error establishing a database connection и в панели администратора WordPress.
Вот как может выглядеть ваша админка WordPress:
Если вы видите такое сообщение, значит проблема в неверных учётных данных для входа. Однако, если появляется другое сообщение об ошибке, причиной может быть повреждённая база данных или всплеск трафика.
Заключение
Сообщение об ошибке “Error Establishing a Database Connection” на вашем сайте WordPress может изрядно подпортить настроение. Сайт не загружается, а значит есть риск потерять трафик и клиентов.
Ошибка возникает, когда вашему сайту не удаётся получить информацию из базы данных. Это может быть вызвано рядом причин, таких как неправильные учётные данные для входа в файле wp-config.php, конфликты темы или плагина WordPress, всплеск трафика.
Эти три метода должны помочь устранить проблему:
- Исправление неправильных учётных данных. Убедитесь, что учётные данные в вашем файле wp-config.php совпадают с данными в базе данных MySQL.
- Ремонт базы данных. Если ваша база данных повреждена, восстановите её, вставив функцию define(‘WP_ALLOW_REPAIR’, true); в файл wp-config.php.
- Исправление повреждённых файлов. Деактивируйте тему или плагин через панель управления WordPress или переименуйте папки с панели управления хостингом.
- Создание новой БД. Создайте новую базу данных MySQL и импортируйте резервную копию.
Оказывается, ошибка подключения к базе данных в WordPress не так и страшна. Просто следуйте инструкциям, и ваш сайт заработает в кратчайшие сроки!
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
что делать, как исправить, что это значит на русский язык, после бэкапа, на локальном сервере, ошибка, с английского, исправление, устранить, проблема, сервер, fix
Чтобы починить сайт, разработал систему из нескольких шагов по восстановлению связи между двумя составляющими.
Содержание
- Перевод на русский язык Error establishing a database connection и почему она возникает
- Проверка синхронизации базы данных и CMS в wp-config
- Запуск восстановления
- Что делать после восстановления – сравнение префиксов
- Как исправить через восстановление MySQL
- Появление error establishing a database connection после установки плагинов
- Backup файлов и базы данных
- Как устранить если ничего не помогло
Если перевести фразу с английского на русский язык, то получим текст – Ошибка установки соединения с базой данных. Думаю из перевода понятно, что ядро WordPress не может установить связь с базой данных из–за сбоя или в результате действий администратора. Что означает и чему причина появление данной проблемы:
- Открыли файл wp-config.php, нарушили комбинацию логина и пароля подключения. Самая распространенная ошибка, новички любят смотреть и менять файлы движка
- Установка нового плагина. Обычно относится к тем, которые меняют текстовую часть сайта — записи, комментарии, то есть элементы содержащиеся в базе данных MySQL
- Работы на сервере, редко, но могут выявить ошибку Error establishing a database connection. В основном это аварийные изменения
- Переход на другой хостинг. Специалисты хостинга при переносе не проверили работу сайта и отдали вам не работающий ресурс. Проблема редкая, но имеет место, потому существует человеческий фактор
- Много посетителей или DDoS атака. Каждый хостинг заботится о клиентах, предупреждает такие ситуации, но если наплыв большой, то сервер может упасть
- Разрыв связи после бэкапа, ошибка возникающая из-за выбора не правильного времени восстановления файлов и DB. Есть универсальный метод, описанный далее
Проверка синхронизации базы данных и CMS в wp-config
Необходимо посмотреть правильность данных для синхронизации файлов CMS WordPress и базы данных. Разберем на примере хостинга Beget. Подключимся к сайту с помощью FTP, как это делать есть в статье про установку темы.
Вошли в корневую папку сайта там где каталоги wp-admin и wp-content. Ищем файл wp-config.php, открываем его с помощью правой кнопки мыши, выбираем Просмотр/Правка.
Откроется программа для редактирования документов. Запомним несколько строк, а именно:
- DB_NAME имя базы в нашем случае valent5k_wp3
- DB_USER пользователь, так же valent5k_wp3
- DB_PASSWORD пароль от подключения
- DB_HOST адрес сервера или хоста, по умолчанию localhost, но бывает и другие значения
Переходим к панели Бегета, сравниваем данные. Почему то разработчики панели управления хостинга Beget не предусмотрели просмотр старого пароля от вашей базы данных, поэтому нам нужно сравнить оставшиеся три параметра и обновить четвертый.
Если эти три параметра совпадают с прописанными из wp–config, то двигаемся дальше, если нет то перезаписываем, в wp-config, на то что указано в панели Бегета. Теперь нажимаем на значок с двумя точками.
Вписываем пароль из wp-config в поле DB_PASSWORD, у нас juzPo7HP6 и нажимаем Изменить.
Теперь смотрим на сайт и смотрим все ли работает. План действий такой:
- Открываем wp-config
- Копируем конфигурацию подключения
- Сверяем или обновляем доступы к базе данных на хостинге
Такая схема работает и с нарушениями на локальном сервере типа Open server, XAMPP, Laragon и им подобные. Для более наглядного представления процесса записал свое видео.
Запуск восстановления
Существует аварийный запуск (fix) восстановления контакта SQL и файлов стандартными средствами WordPress . По знакомой схеме открываем файл wp-config, в конец вставляем код.
define('WP_ALLOW_REPAIR', true);
Не забываем сохранять изменения и закачивать обратно на хостинг через FileZilla.
Переходим по адресу site.ru/wp-admin/maint/repair.php где взамен site.ru доменное имя. Откроется страница на которой нажимаем Починить поврежденную базу данных.
Начнется процесс, если он удачно закончился и error establishing a database connection пропала, то появится страница с успешными восстановленными таблицами, и с предупреждениями, что нужно удалить код вносимый ранее для запуска восстановления.
Обязательно удалите строчку, сохраните и перезапишите файл wp-config, иначе любой хакер получает полный доступ к файлам ядра WordPress.
Что делать после восстановления – сравнение префиксов
Сравнение префиксов таблиц необходимо делать, чтобы перейти к следующему шагу расследования ошибки error establishing a database connection. Заходим в FileZilla опять в файл wp-config, и смотрим на строчку table_prefix.
Запоминаем и идем в PhpMyAdmin на хостинге, как туда заходить уже знаем. В списке баз находим соответствующую сайту, нажимаем значок для перехода в MySQL.
Далее смотрим на префиксы таблиц, если они совпадают, то проблема не в этом идем дальше.
Но если они различаются значит, пошел сбой, в данном случае обратитесь в службу поддержки хостинга, обычно это проблема на их стороне.
Как исправить через восстановление MySQL
В 90% случаев исправить SQL не даст результата, но попробовать стоит. Заходим в PHPMyAdmin. Отмечаем чекбоксы напротив всех таблиц, внизу выбираем из выпадающего списка Восстановить таблицу.
Начнется процесс восстановления, способ может помочь, но в далеко не всех случаях, ищите проблему в других местах.
Появление error establishing a database connection после установки плагинов
Если блог на WordPress заклинило после установки плагина и появилась надпись error establishing a database connection, то нужно удалить его, но как если войти в админку нет возможности? Ответ прост, идем в FileZilla и удаляем. Путь до папки с плагинами wp-content > plugins.
Находим, дающий ошибки плагин, и переименовываем. Если не знаем какой, то изменяем название по одному, смотрим на работоспособность сайта, обязательно обновляем Ctrl+F5.
Backup файлов и базы данных
Любой хороший хостер заботится о резервных копиях сайтов клиентов. Хорошо если ошибка технического характера обнаружилась сразу, а не через несколько дней. То есть мы можем восстановить состояние ресурса на тот момент, когда он работал.
Единственный минус, что все изменения внесенные после даты восстановления сотрутся и придется проделывать действия заново. Заходим в BackUp в панели хостинга.
Сначала переходим в файловый архив, отмечаем папку сайта и выбираем дату когда он работал нормально и нажимаем синюю стрелочку.
Переходим в раздел Базы данных, отмечаем соответствующую сайту, так же выбираем дату и жмем синюю стрелочку.
По окончании процессов, сайт должен заработать, если нет, то переходим к следующему крайнему методу.
Как устранить если ничего не помогло
Если устранить не получатся и сайт не работает прошу обратиться в службу поддержки хостинга, или к специалистам, с подробным описанием проблемы. Обычно для решения такой задачи требуется не больше 30 минут.
На крайний случай обратитесь к нам за помощью, что будет в наших силах сделаем. Я разобрал максимум решений ошибки Error establishing a database connection и решений, если есть дополнения, то жду в комментарии. Успехов.
Пожалуйста, оцените материал:
Это – один из худших кошмаров для владельца веб-сайтов. Вы вводите URL-адрес вашего сайта… однако вас приветствует не ваша главная страница, а нечто другое. Вместо этого вы видите пустой экран. Вне зависимости от того, по какой ссылке вы перешли, вас встречают зловещие слова «Error establishing a database connection».
Чем дольше ваш сайт будет лежать, тем больше трафика вы потеряете. А это означает потерянных подписчиков, клиентов, а также упущенный доход. Однако что вообще привело к такой ошибке? Что она означает? И, что самое важное, как исправить ее, чтобы вернуть свой сайт в нормальное состояние как можно быстрее?
В этой статье мы расскажем вам, что означает это сообщение об ошибке, что может вызывать его, а также посмотрим, как найти корень зла и исправить его.
Содержание
- Что означает «Error Establishing a Database Connection»?
- Что приводит к этой ошибке?
- Решение проблем с «Error Establishing a Database Connection»
- 1. Определяем, с чем произошла ошибка.
- 2. Проверяем учетные данные БД в wp-config
- 3.Все еще появляется ошибка?
Что означает «Error Establishing a Database Connection»?
Для начала давайте посмотрим на то, как WordPress отображает ваш сайт, и тогда станет ясно, почему эта ошибка настолько разрушительная. WordPress написан на PHP и MySQL. Вся информацию, которая составляет ваш сайт, хранится в базе данных MySQL, а PHP используется в WordPress для сохранения и получения этой информации из базы данных.
В целом, всякий раз, когда страница загружается на вашем сайте, она создается «на лету». Код PHP используется для того, чтобы получить доступ к базе данных MySQL и получить всю информацию, которая требуется для создания страницы. Одни PHP-запросы получают заголовок записи, другие – захватывают имя автора, третьи – берут дату публикации и т.д.
Вернемся к нашему сообщению об ошибке: «Error establishing a database connection». Оно означает, что по каким-то причинам PHP-код не смог соединиться с базой данной MySQL, чтобы получить информацию, которая требовалась для создания страницы.
Именно по этой причине на экране с ошибкой красуется лишь одно сообщение. Если вы не можете подключиться к базе данных, вы не знаете, что выводить на экран; нет никакой доступной информации о вашем сайте.
Что приводит к этой ошибке?
В то время как само сообщение об ошибке является достаточно ясным, причины, отвечающие за его появление, зачастую не совсем понятны.
Есть много разных причин, почему ваш сайт может иметь проблемы с подключением к вашей базе данных, однако их обычно можно разбить по трем категориям:
- Ваши учетные данные для входа в БД являются неверными. Ваша база данных использует отдельный логин и пароль. Если эти данные были недавно изменены, ваш сайт не сможет подключиться к БД, используя старые учетные данные.
- Ваша база данных была повреждена. Привести к такому печальному исходу могут самые разные причины, начиная с установки некачественного плагина и заканчивая ударом молнии в сервер (правда, это не самый распространенный вариант).
- Сервер, на котором расположена ваша БД, в данный момент не работает. Сервер с вашей базой данных может выйти из строя из-за каких-либо проблем или ошибок на стороне хостинг-компании. Также он может «лежать» из-за того, что на ваш сайт обрушился большой поток трафика, который сервер просто не смог обработать.
Таким образом, учитывая все возможные ситуации, как мы можем справиться с возникшей проблемой?
Решение проблем с «Error Establishing a Database Connection»
1. Определяем, с чем произошла ошибка.
Появляется ли эта ошибка только при обращении к wp-admin или же ваш сайт полностью лежит? А может, у вас другая ситуация: ваш сайт не работает, но при попытке входа вы видите несколько иную ошибку: «One or more database tables are unavailable. The database may need to be repaired»?
Все это говорит о том, что ваша база данных была повреждена.
WordPress обладает встроенным методом восстановления базы данных, однако для начала вам нужно будет включить эту возможность. Чтобы сделать это, вы должны иметь доступ к wp-config.php, который содержит ваши параметры и конфигурацию сборки WordPress.
Вы можете найти wp-config в корневой папке вашей сборки WordPress. Получить к ней доступ можно через cPanel: выберите File Manager и перейдите к папке, в которой у вас установлен WordPress.
Как только вы откроете wp-config, добавьте к нему следующую строку в самый конец файла:
define( 'WP_ALLOW_REPAIR', true );
Эта строка позволит вам оптимизировать и восстановить вашу базу данных. Перейдите по ссылке: www.yourwebsite.com/wp-admin/maint/repair.php (вместо yourwebsite.com введите реальный URL-адрес).
Вы должны увидеть страницу, показанную выше, с двумя возможностями восстановления – «repair» и «repair and optimize». Учтите, что оптимизация займет дополнительное время.
Обратите внимание, что страница восстановления базы данных никак не защищена; любой может получить доступ к этой странице по одному лишь URL. Как только вы восстановите вашу базу данных, обязательно удалите строку, добавленную ранее, из файла wp-config. В итоге вы ограничите доступ к этой странице.
Если ошибка пропала, вы можете закрыть wp-config и вернуться к нормальной работе с сайтом.
Если все это вам не помогло, давайте перейдем ко второму этапу восстановления сайта.
2. Проверяем учетные данные БД в wp-config
Если первый шаг не помог вам, то в таком случае вам нужно проверить, корректно ли заданы параметры базы данных в файле wp-config.
Удивлены, каким образом ваши учетные данные, работавшие ранее, перестали это делать? Смена хостинг-компании, изменение имени БД или пользовательской информации может привести к тому, что ваш wp-config файл будет содержать старые данные.
У вас может быть по-прежнему открыт файл wp-config, оставшийся еще с прошлого шага. В противном случайте войдите в cPanel хостинга и откройте File Manager. Перейдите к папке, в которую вы устанавливали WordPress, и найдите в ней файл, названный wp-config.php. Откройте его для редактирования.
Вы увидите учетные данные для вашей базы данных – обычно они расположены в самом верху файла. Выглядят они обычно следующим образом:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** MySQL database username */ define( 'DB_USER', 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD', 'password_here' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );
Как вы можете видеть, здесь есть несколько информационных разделов, которые требуются WordPress для доступа к вашей БД:
- Название БД (DB_NAME)
- Логин для входа (DB_USER)
- Пароль для входа (DB_PASSWORD)
- Хост базы данных (DB_HOST)
Если какое-либо из этих значений будет некорректным, WordPress не сможет подключиться к базе данных.
Проверить базу данных вне WordPress можно при помощи PHPMyAdmin – инструмента, который используется для редактирования базы данных MySQL. PHPMyAdmin включен во многие тарифные планы хостингов, и вы можете найти его в консоли cPanel.
Предупреждение: Будьте аккуратны при работе с PHPMyAdmin, поскольку этот инструмент ведет прямую работу с базой данных.
Как только вы войдете в PHPMyAdmin, вы увидите список баз данных на вашем сервере. Щелкните по той из них, которая будет соответствовать названию БД в файле wp-config (значение DB_NAME).
Не видите ни одной базы данных? В таком случае обратитесь к вашему хостингу, поскольку, скорее всего, проблема связана с вашим сервером.
После щелчка по названию базы данных вы увидите основной экран, содержащий названия таблиц вашей БД. Чтобы убедиться в том, что это – корректная БД, вы можете найти таблицу под названием wp_options и щелкнуть по опции Browse рядом с ней. Вы должны увидеть название вашего сайта, URL, а также все основные настройки. Теперь вы знаете, ту ли базу данных вы открыли. Если нет, то настройте ее должным образом в wp-config.
Давайте теперь проверим логин и пароль.
Есть несколько способов проверить их. Я предложу вам два варианта.
- Вы можете создать простой .php файл для тестирования того, сможете ли вы подключиться к вашей базе данных с учетными данными из файла wp-config
- Вы можете создать нового пользователя с паролем, и обновить файл wp-config, внеся в него новую информацию. Делать это надо в том случае, если первый способ не сработал.
Вариант 1. Тестируем существующие учетные данные.
Создаем файл в каталоге WordPress – пусть он называется testconnection.php (название не важно, главное чтобы он имел расширение .php). Вставляем в него следующий код:
<?php $testConnection = mysql_connect('localhost', 'root', 'password'); if (!$testConnection) { die('Error: ' . mysql_error()); } echo 'Database connection working!'; mysql_close($testConnection); ?>
Как только вы создадите этот файл, просто перейдите по соответствующему URL в браузере (к примеру, site.com/testconnection.php). Вы увидите либо сообщение об удачном соединении, либо ошибку с детальной информацией.
Если логин и пароль не работают, мы можем создать нового пользователя.
Вариант 2. Создаем нового пользователя для БД (новый логин и пароль).
Сделать это мы можем с помощью другого инструмента в cPanel, который называется MySQL® Databases. Переходим к нему, затем прокручиваем вниз до заголовка: MySQL Users: Add New User. Задаем имя пользователя, а также сложный пароль. Щелкаем — Create User. Теперь прокручиваем до заголовка Add User To Database, и выбираем ваше новое имя пользователя и вашу базу данных WordPress, после чего щелкаем по Add. Обновляем файл wp-config, введя в него ваше новое имя пользователя и пароль.
Теперь название вашей БД, имя пользователя и пароль являются корректными. Остался только DB_HOST.
В большинстве случаем значение DB_HOST должно быть localhost, однако это зависит от настроек вашего хостинга. В WordPress есть список значений DB_HOST для популярных хостингов. Если ваш хостинг не перечислен там, то в таком случае обратитесь к нему за уточнениями.
3.Все еще появляется ошибка?
Если вы выполнили все шаги, приведенные выше, и ваш сайт все равно не работает, то в таком случае проблема заключается в вашем хостинге. Обратитесь в службу поддержки вашего хостинга и предоставьте им всю информацию по возникшей ошибке, а также те действия, которые вы совершили, пытаясь эту ошибку исправить – все это позволит компании быстрее справиться с проблемой.
Источник: www.elegantthemes.com/blog
Ни для кого не секрет, что большинство платформ для создания веб-сайтов, и в том числе такая популярная платформа, как 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, то сможете сразу же узнать о возможных проблемах. Надеюсь, эта информация была полезной для вас.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
As a WordPress site owner, there are a few error messages that you dread. The “error establishing database connection” is among the most feared, but rest assured that it’s common and can be resolved in a few ways.
In this post, we’ll take a closer look at what exactly this error is and then walk through the different steps you can take to fix it.
What does “Error Establishing a Database Connection” mean?
You can figure out that WordPress had trouble connecting to a database from this error message, but what exactly does that mean?
To fully understand this error, we need to look behind the scenes at how WordPress displays web pages. This complexity is hidden from the visitor.
You’ll remember from installing your WordPress site that you had to create a database. That’s because every site needs a centralized database that stores information in order to run. Your posts and pages, categories and tags, user data and comments, plugin and theme-related data, and site-wide settings are all stored there.
To access that treasure trove of data, WordPress uses a programming language called PHP.
Whenever someone enters a URL into their browser, WordPress uses PHP to ask for information from the database. It then brings back the necessary data to display that web page to the visitor on their browser. When WordPress is unable to establish a database connection, it will display an error message instead.
Source
See how the page is mostly blank? That’s because no data can be retrieved to render the page since the database connection isn’t working. Such an error will not only prevent your visitors from accessing the frontend of your site, but it will also prevent you from accessing your WordPress dashboard.
To get your site running as smoothly as possible again, let’s look at a few different solutions for this issue.
- Repair and optimize your database.
- Verify your database login credentials.
- Restore default files.
- Contact your hosting provider.
Though the “error establishing a database connection” message might seem ominous, we know that one common cause is as simple as updating your credentials. While some of these steps are more difficult and require a bit of coding, they are all workable solutions for users at any level. Let’s look at these solutions more closely below.
Step 1: Repair and optimize your database
Your first step? Go to your WordPress dashboard and see what error message appears. If you see the same “error establishing a database connection,” then move onto the next step.
However, if you see another message, notice the suggestions that WordPress offers. One such message might begin, “One or more database tables are unavailable…” This means you need to repair and optimize your database before accessing it.
WordPress simplifies the process for you. Just log in to your control panel, open the File Manager, and navigate to the wp-config.php file. At the end of the file, right before the line that reads /* That’s all, stop editing! Happy blogging. */ add the following line of code.
define('WP_ALLOW_REPAIR', true);
Save your changes and go to yoursite.com/wp-admin/maint/repair.php. You should see the following message.
Source
You can click either button, but the latter is recommended to optimize your site’s performance. When the repair is finished, go back to your site and check if the error is still there.
If there’s no error, that’s great — but you’re not quite finished. You need to go back into your wp-config.php file, remove that line of code you added, and save it. If the error still appears when you visit your site, you’ll have to move on to the next step.
Step 2: Verify your database login credentials
You know you need to remember your login credentials to access your database. That’s a no brainer. But there may be incorrect details stored in your WordPress configuration file (wp-config.php) impacting your connection. This can happen when your file is not updated properly after migrating to a new hosting provider.
To verify that your information is correct, open the wp-config.php file via your cPanel and look at the following lines of code.
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
You can compare these values to those stored in your database to ensure they match. You can find that info by logging on to your cPanel and going to the Database section.
If the values do not match, edit the wp-config.php file and save your changes. Then navigate to yoursite.com/check.php. If you get a “connected successfully” message then your login details are now correct and the database connection error should be resolved.
Step 3: Restore default files
It’s rare but core WordPress files can be corrupted. A hacking attempt on your site or a rogue plugin may modify these files.
Whatever the reason, you can restore the default files. The process is simple, but the stakes are high. One mistake can wipe out your site. That’s why you need to back up your site before proceeding.
Now that you have a backup, download a new version of WordPress. Unzip the file, then find and delete the wp-config.php and wp-contents folder. This will ensure you don’t override your existing wp-config.php file or lose any themes, plugins, and media stored in the wp-content folder once you restore WordPress.
Source
Next, open File Manager on your cPanel and upload your new WordPress files. This will override all the previous files (except for wp-config.php and wp-contents folder).
When the upload is complete, go back to your site to see if the error is resolved. If you’re still seeing an error message, it’s time to contact your hosting provider.
Step 4: Contact your hosting provider
If none of the steps above resolve your issue, then it could be an issue with your database server. A spike in traffic on the server, for example, could be the cause since web hosts like WordPress.com and Bluehost limit how many database connections are allowed at once.
If you let them know you’re experiencing an error establishing database connection on your site, they can let you know what the exact cause is. Best case scenario: they might even fix it for you.
There’s no foolproof method for preventing every error establishing a database connection, but there are steps you can take to resolve them. By fixing this error, you’ll ensure that visitors continue to have seamless experiences on your site.