WordPressの’Error establishing a database connection’(データベース接続の確立エラー)通知は、ユーザーからサイトにアクセスできなくなる致命的なエラーです。WordPressがデータベースに接続できない場合に発生します。
この接続には複数の要因が影響する可能性があるため、初心者がこのエラーをトラブルシューティングするのは少し難しいかもしれない。
過去16年間WordPressでブログを運営してきましたが、「Error establishing a database connection」を含む様々なエラーや警告に遭遇してきました。私たちの経験と多くの試行錯誤を通じて、サイトを中断することなくこれらの問題をトラブルシューティングする方法を学びました。
この投稿では、WordPressサイトの「Error establishing a database connection(データベース接続の確立エラー)」を簡単に修正する方法を順を追って説明します。
WordPressのデータベース接続確立エラーの原因は?
データベースとは、データを簡単に保存、整理し、他のソフトウェアから取り出すためのソフトウェアである。
コンテンツ管理システムであるWordPressは、すべてのコンテンツやその他のサイトデータを保存するためにデータベースを使用します。そして、誰かがあなたのサイトにアクセスするたびにデータベースに接続します。
WordPressはデータベースに接続するために以下の情報が必要です:
- データベース名
- データベースのユーザー名とパスワード
- データベースサーバー
この情報は、wp-config.phpと呼ばれるWordPressの設定ファイルに保存されます。
これらの情報に誤りがある場合、WordPressはデータベースサーバーへの接続に失敗し、「Error establishing a database connection(データベース接続の確立エラー)」というエラーが表示されます。
WordPressで最もよく見られるエラーのひとつです。不正なログイン情報以外にも、データベースサーバーがダウンしていたり、データベースファイルが破損している場合にもこのエラーが表示されることがあります。
それでは、WordPressの「Error establishing database connection(データベース接続の確立エラー)」問題を解決する方法を、ステップ・バイ・ステップのトラブルシューティングとともに見ていきましょう。
1.WordPressデータベースのログイン情報を確認する
ログイン情報が正しくない ことが、データベース接続エラーの最も一般的な原因です。WordPressサイトを最近新しいホスティングサービスに移行した場合は、この問題が考えられます。
WordPressデータベースのログイン情報は、wp-config.phpファイルに保存されています。これはWordPressの設定ファイルで、データベース情報を含む重要な設定が含まれています。
wp-config.phpファイルを編集したことがない場合は、初心者向けのwp-config.phpファイルの編集方法をご覧ください。
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ホスティングアカウントのダッシュボードから確認できます。このチュートリアルでは、Bluehost を使用しますが、他のホスティング パネルでも同様のプロセスになります。
ログイン中、左カラムの「ウェブサイト」タブをクリックし、「詳細設定」タブに切り替えます。次に、「データベース」セクションまでスクロールダウンし、その横にある「管理」ボタンをクリックします。
これにより、cPanelのMySQL Databasesページが新しいウィンドウで開きます。
ここで、’Current Database’ セクションにデータベース名とユーザー名があります。これらの情報をコピー&ペーストして、wp-configファイルに追加してください。
次に、「現在のユーザー」セクションまでスクロールダウンし、データベース名の横にある「パスワードの変更」リンクをクリックします。
新しい画面が表示され、データベースのパスワードを変更することができます。
データベースの詳細をすべて確認したら、必要に応じてwp-config.phpファイルで情報を変更できます。
その後、もう一度サイトにアクセスしてみて、データベース接続エラーがなくなっているかどうかを確認してください。
それでもエラーが表示される場合は、何か他の問題があることを意味します。
2.データベースホスティングサービス情報の確認
データベース名、ユーザー名、パスワードの情報が正確であることを確信している場合は、正しいデータベースホスティング情報を使用していることを確認してください。
ほとんどのWordPressホスティング会社は、データベースのホスティングサービスとしてlocalhostを使用しています。しかし、一部のマネージドWordPressホスティング会社は、データベースのホスティングサービスに区切りのサーバーを使用しています。その場合、データベースのホスティングサービスはlocalhostではありません。
つまり、WordPressホスティングサービス会社に連絡して、これらの詳細を確認する必要があります。
3.WordPressデータベースの修復
現在、wp-adminダッシュボードで「1つまたは複数のデータベーステーブルが使用できません」や「データベースの修復が必要な場合があります」など、別のエラーが表示されている可能性があります。その場合は、データベースを修復する必要があります。
これは、wp-config.phpファイルに以下の行を追加することで可能です。本当に〜してもよいですか?Happy blogging’の行の直前に追加してください:
define('WP_ALLOW_REPAIR', true);
設定が完了したら、このページhttp://www.yoursite.com/wp-admin/maint/repair.php。yoursite.comを自分のドメイン名に置き換えてください。
ここで、「データベースの修復」ボタンをクリックしてプロセスを開始する必要があります。
注:データベース修復ページにアクセスするために、ユーザーはログイン中である必要はありません。データベースの修復と最適化が完了したら、wp-config.phpからこの行を削除してください。
しかし、サイトにコードを追加したくない場合は、ホスティングアカウントのcPanelを使用してデータベースを修復することもできます。
ホスティングサービスアカウントにアクセスし、左の列から「ウェブサイト」ページを開きます。次に、’Advanced’タブに切り替え、データベースセクションの’Manage’ボタンをクリックします。
新しいタブでcPanelが開きます。ここで、「データベースの修正」セクションまでスクロールダウンし、「データベースの修復」ドロップダウンメニューからデータベース名を選択します。
そうしたら、「データベースの修復」ボタンをクリックしてプロセスを開始する。
ホスティングサービスパネルが自動的にデータベースを修復します。
プロセスが完了すると、成功のメッセージも表示されます。
これでWordPressサイトにアクセスして、エラーが解決したかどうかを確認することができます。
4.データベースサーバーがダウンしていないか確認する
すべてが正しいように見えてもWordPressがデータベースに接続できない場合は、データベースサーバー(MySQLサーバー)がダウンしている可能性があります。
これは、サーバーのトラフィックが多いために起こる可能性があります。ホスティングサービスのサーバーが負荷に耐えられないのです(特に共有ホスティングの場合)。
このため、サイトが遅くなり、ユーザーによってはエラーが出力されることもあります。この場合、ホスティングサービスプロバイダーと電話またはライブチャットで、MySQLサーバーがレスポンシブかどうかを確認する必要があります。
さらに、同じサーバーで他のサイトを運営している場合は、それらのサイトをチェックして、SQLサーバーがダウンしていることを確認することができる。
同じホスティングアカウントに他のサイトがない場合は、ダッシュボードに移動し、[詳細設定]タブに切り替えるだけです。
その後、phpMyAdminセクションの横にある「管理」ボタンをクリックします。
新しいウィンドウでphpMyAdminが開きますので、一番上の「データベース」設定をクリックしてください。
その後、データベースの名前をクリックして、その設定にアクセスしてください。それができたら、データベース・ユーザーに十分な権限があるかどうかをチェックしましょう。
そのためには、testconnection.phpというファイルを新規作成し、以下のコードを貼り付ける必要があります:
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
コードを貼り付けたら、ユーザー名とパスワードを自分のものに置き換えてください。このファイルをサイトにアップロードし、ウェブブラウザーからアクセスすることができます。
スクリプトが正常に接続された場合は、ユーザーに十分な権限があることを意味します。
次に、wp-configファイルに戻り、すべての詳細が正確で、タイプミスがないことを確認するためにスキャンする必要があります。
ユーザーにとって効果的だったその他のソリューション
上記のトラブルシューティングのヒントでサイト上のデータベース接続エラーを修正できない場合は、以下の追加手順をお試しください。
ユーザーからの報告によると、これらの手順でサイト上のデータベース接続エラーを解決したユーザーもいます。
1.WordPressサイトのURL更新
cPanelのphpMyAdminを使ってWordPressサイトのURLを更新してみてください。
ホスティングアカウントのダッシュボードからphpMyAdminにアクセスし、リストからWordPressデータベースを選択するだけです。
その後、上部のSQLメニューに切り替え、次のMySQLクエリーを入力する:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
このように見えるはずだ:
WordPressのテーブル接頭辞を変更している可能性があるので、自分のサイトURLをプロバイダーで指定し、wp_optionsを
自分のテーブル名に変更することをお忘れなく。
2.Webサーバーの再起動
専用サーバー、ローカルサーバー、仮想専用サーバー(VPS)のユーザーは、サーバーの再起動を試すことができる。
これによりWebサーバーとデータベースサーバーが再起動され、エラーの原因となる一時的な不具合が修正される可能性があります。
3.助けを求める
他のすべてがうまくいかない場合は、ホスティングサービス会社に連絡する必要があるかもしれません。すべての優れたWordPressホスティングサービス会社は、トラブルシューティングを手伝い、正しい方向を示し、あるいは問題を解決してくれます。
WPBeginnerプロサービスのようなプラットフォームを使ってWordPress開発者を雇い、リーズナブルな料金でこの問題を解決することもできます。WPBeginner Pro Services には、WordPress の問題を解決するために信頼できる専門の開発者チームがあります。
サイトのメンテナンス、ハッキングされたサイトの修復、スピードの最適化、サイトの再構築、SEOの最適化などのサービスも利用できる。
この投稿がWordPressの「Error establishing a database connection」問題の解決に役立てば幸いです。WordPressの問題を自分で解決するためのヒントについては、WordPressトラブルシューティングガイド、またはWordPressでカスタムデータベースエラーページを追加する方法についてのチュートリアルもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
ravendra
hello I need your help please help me my website is showing Error establishing a database connection
how can I solve I don’t know please help me
WPBeginner Support
You would want to follow the troubleshooting steps in this article for that error.
管理者
Daniel
I had this very same issue while using Xampp. After using the “testconection.php” file and through some further trouble shooting, I discovered that my user account was set to connect to “Any host” and by changing it to “Localhost” the problem was solved. I suspect this error came about when I updated Xampp and recreated the same named user.
WPBeginner Support
Thanks for sharing what worked for you
管理者
Della
For my case the correct response was by Daniel.
…I discovered that my user account was set to connect to “Any host” and by changing it to “Localhost” the problem was solved.
Thanks so much!
jason
i am getting this error on my localhost
WPBeginner Support
The methods in this article should be able to help with localhost sites as well as hosted sites.
管理者
Dana Jewel
Thanks for the article. Hopefully it will help.
WPBeginner Support
You’re welcome
管理者
Cosme Fulanito
After succeed the “Check your Web Host (MySQL Server)” test I change the host from 127.0.01 to localhost on the config.php file.
That worked for me.
WPBeginner Support
Thanks for sharing your solution
管理者
Vinay Mourya
hi, it is happening to my WordPress site only sometimes and when I reload the page site starts working again please suggest me a solution, for now, I am using Cloudflare as cdn and wp rocket for caching plugin, the theme is newspaper premium.
WPBeginner Support
If it is intermittent like that, you would want to reach out to your hosting provider and let them know and they should be able to assist.
管理者
Erick
This solution helped me a lot. Thanks so much.
WPBeginner Support
You’re welcome
管理者
Gee
Same exact error i got “Error establishing a database connection” but not all of the sollution you mentíon helped me.
For me the MySql services was disabled: I went to services and start the MySQL to automatic. The other thing was the ” log on ” to user was administrator and changed it to the account i created.
Now my wordpress site is working again.
WPBeginner Support
Thanks for sharing your solution to this issue for others
管理者
Umar
I have a weird situation is, that the error establishing a database connection is only happening to one post in my blog while other posts are not showing this issue.
rabda
I am receiving this error one time on 3 and not always! I do not understand why and how to solve the problem
WPBeginner Support
You may want to try reaching out to your hosting provider to see if their error logs have information that can help find the root of the issue.
管理者
Ryan
thanks so much, worked great, really appreciate how fast and to the point the video was, instead of a 7-10min extended one, boom, stright to the point!
Omar
I fixed it by adding “:3306” to the mysql adress “localhost” in wp-config
Bob Richardson
Thanks so much for this post. Saved me lots of time troubleshooting. I had changed my database password after a web hack and forgot to change wp-config file. Your instructions are spot on.
Jelena
Dude, you have just saved me TONS of nerves! Thank you SO MUCH. Best wishes and God bless!
Parker Beck
I fixed it by deleting the MySql database and making a new by importing the backup. I did not need a fresh instance of WordPress.
Julia
Same here! After hours of debugging, reinstalling MySQL and WP, deleting the wordpress database was the solution. Thanks Parker!
Filipa
I’m not a developer or have any background in file managing and I could follow your instructions easily. Either I’m a genius or you’re awesome! Or maybe both!
Yaser
Thanks for the article.
I had this error while setting up a local instance of WordPress running on Wamp server on windows.
*For me, it got solved when I changed the blank password of the localhost from phpMyAdmin panel, * the password was blank so I suspect that’s the reason, or maybe changing the password updated some necessary files automatically.
Just wanted to share this ^-^
Frenda Chu
Dear sirs,
I’m a beginner making a big mistake of using all-in-one migration to export my website to a whole package(a “.wpress” file, containing old database information inside) unless using separated database files and then restored it on my new host.
After that my website display”Error establishing a database connection”.
I have tried checking the config.php, but the database name is correct to my new host.
I now understand that’ s a terrible way to migrate my web, however, I don’t have any backup. Is there any method can help save this problem?
WPBeginner Support
Hi Frenda,
Check your host, database name, and database password. These are the most likely culprits.
管理者
askhar
Thank you very much for the guide,
I follow step by step, and now my web is better.
The tutorial is very useful
Jon
Thanks very much for the article. I’m new to WordPress, and this error was pretty disconcerting. I got the error after a simple page edit today – not even fiddling with back end files. Your advice on editing the wp config file fixed it straight away. Thanks again!
Frans Bouman
Thanks immensely for the article. Although my problem wasn’t identical to the problems given, changing the hosts file managed to get me pointing at the new (unpropogated) version of the web site and replacing localhost with the ip address in wp-config took care of all the problems with pointing to the active version of the site. Now the new site is fully tested and I can shift servers safely. Well done!
nirjon
I am getting this message when trying to add photos to my product page
Connection lost. Saving has been disabled until you’re reconnected. We’re backing up this post in your browser, just in case.
Can please some one help me
Simon Jackson
Thank you so much for sharing this step by step tutorial. Actually, I have installed WordPress first time, it shows me “Error Establishing A Database Connection” and I don’t know what to do. Then I have searched on Google and I found your this article and really it is
very helpful for me and also many people who have no idea about this things.
WITMAN
I am getting this quite often on my reseller account and it affects my websites. I honestly don’t know what to do at this point. While my host company has been very supportive, it happens just about every time: jiffynaija.com
Niaz Ahmed
Hello People,
Firstly i appreciate the effort taken by wpbeginner for creating all these articles and helping out people from their bad nightmares.
Here come my question, i had the same trouble i tried all the steps which was given below and it worked, but after every few hours later this screen appears again and again, now what is did is i restarted the server it worked but still i’m getting the same page every time. please somebody gimme a permanent solution for this it will be much appreciated. TIA
David
I had moved from one host to another. Was getting the error. I had used a different database prefix on the new host. Changing this in the wp-config.php solved the problem.
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‘newprefix_’;
Mila
I battled with MAMP on MacOS Sierra ver. 10.12.6 for a couple of days. After trying what seemed like Everything, I finally gave up. With MAMP, MySQL would not start although Apache did & PHPMyAdmin was throwing the same error about MySQL. I uninstalled MAMP and installed DesktopServer and I’m so glad I did. It worked like a charm. It was incredibly easy!
Anmol
i have issue when open any post it shows this error what should i do how to fix this error—>
Notice: getTemplate was called incorrectly. templates/single//layout.php does not exist. Please see Debugging in WordPress for more information.
Louis
I’ve created a site on localhost. I am using MAMP. I tried to go live. When I changed the user password in mp-config file the error of not able to connect to serve appeared. I tried to change it back but if have been unable to get back to my login for wp. That’s where I’m not understanding. How do I know where the password and username should be matching up?
Ola
Pls am trying to install WordPress on localhost and after entering my database username instead of taking me to the installation page, it keep bring error that “Error establishing a database connection”. Pls what can cause this error? and have done all the necessary things
Andrew Johnson
As soon as I saw the error I was like oh god there goes my day trying to sort this out! I hadn’t touched wordpress or my hosting account for ages, had forgotten everything and was like okay back to square one here.
BUT
This article’s fix worked like a charm (changing the password to the database and making sure it was the same in wp-config). Saved me a huge headache.
THANK YOU!
shach
hi, thanks for the effort to bring this post up.
after some hours that i spent twiking and ftp-ing and phpmyadmin-ing, i finally got all my settings super-perfect, but still this anoyying message.
so- i just openned my chat with bluehost, and once again they proved to be really fast in answering. with a click it was all up and alive.
so- next time it will take me less time to open-up the chat box with them
Shawn Rebelo
Now to find out why it does this on localhost when there is NO config file yet! Trying to install for first time in another folder, but get this error? Saying config in wp-config might incorrect? Well ya… there is no file!
Piter
Thanks for the article and the video, I fixed my problem as well.
But why does it happen? very strange.
Gwen
I don’t understand WHERE to find the file to access it and change it seeing as I can’t get into my Wordpress account
Shahid
Thanks a lot, I have fixed my problem.
Anita Elder
Your fix really saved me a lot of time and energy….thanks!!
Dan Logue
I’ve encountered the no database connection error. I can run a connect.php script using root and password which says connected successfully. To what is my question. Just to my localhost server? root and password I used were those for my phpMyAdmin login.
A similar connect_db script using the actual wordpress database user and password fails. user and database password match the wp-config values.
I’ve used the user root and its companion password in the wp db table but still get connection error.
Any help would be appreciated.
Colleen
Has anyone seen this error? I’ve searched and searched, but can’t get an answer:
INSERT INTOwp_contact_form_7(cf7_unit_id,title,form,mail,mail_2,messages,additional_settings) VALUES (1,’Contact form 1′,’Your Name (required)\r\n [text* your-name] </p
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”Your Name (required)\r\n [text* your-name] </p’ at line 1
Thanks!
Mr Alexander
its a nice read but having to call your provider to fix the permission issues fo r you… come on
Tessa
i found another solution.
Host: localhost to Host: 127.0.0.1:8889
but I also changed the wp-config-sample.php
/** MySQL hostname */
define(‘DB_HOST’, ‘127.0.0.1:8889’);
and
define(‘WP_ALLOW_REPAIR’, true);
Save and reload tab.
Scott Grams
I have this issue once in a while on a local server after server reboot. The solution that has always worked is to stop httpd, then restart mysqld, then start httpd again. Had always fixed the problem. Probably not a solution if your site is hosted of site.
Marcin
Thank you very much
PAUL
Suddenly, my localhost stopped saving anything. Tried installing a new WordPress but whenever I’m to login to the back-end, the right or any password or login credentials won’t open it.
What is the problem and what is the solution?
PAUL
Also, Database repair didnt work for the project I had on. I’ve uninstalled xampp numerous times, still didnt work
Nathan Pinno
After doing the database repair, I got this:
wp_1_posts: Table ‘nb_blog.wp_1_posts’ doesn’t exist
wp_1_comments: Table ‘nb_blog.wp_1_comments’ doesn’t exist
wp_1_links: Table ‘nb_blog.wp_1_links’ doesn’t exist
wp_1_options: Table ‘nb_blog.wp_1_options’ doesn’t exist
wp_1_postmeta: Table ‘nb_blog.wp_1_postmeta’ doesn’t exist
wp_1_terms: Table ‘nb_blog.wp_1_terms’ doesn’t exist
wp_1_term_taxonomy: Table ‘nb_blog.wp_1_term_taxonomy’ doesn’t exist
wp_1_term_relationships: Table ‘nb_blog.wp_1_term_relationships’ doesn’t exist
wp_1_termmeta: Table ‘nb_blog.wp_1_termmeta’ doesn’t exist
wp_1_commentmeta: Table ‘nb_blog.wp_1_commentmeta’ doesn’t exist
What can I do to fix this?
Thanks,
Nathan Pinno
Samuel Rondot
You guys just saved my life ! One more time.
Thank you !
Cesare Rossi
My Wordpress site (2 server, One web and One db) works perfectly at the first run. if I reboot the web server it shows the database errore.
Angela
You are a life saver! Thank you so much!!!!!
sanjiv
will thi sbe fixed as you are saying in this article i will have to go for it than only i can say any thing about this site .
pau
mine also broke down without me making any edit on the website whatsover for like 2 months, i got scared… so this is how i ended up here looking what to do, but reading all this i just refreshed the page and its working, somehow automatically… i dont know how long i had this error was there for but its between minimum 10min and 2 hours max, the host im using is hostgator and just before i was to contact them i refreshed the page and its working, so my advice if anything you can atleast wait 2 hours and it may turn back on like mine, PEACE!
Irena Omazic
Thank you so much! This is extremely useful for me. Regards from Bosnia!