Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressでデータベース接続の確立エラーを修正する方法

WordPressの’Error establishing a database connection’(データベース接続の確立エラー)通知は、ユーザーからサイトにアクセスできなくなる致命的なエラーです。WordPressがデータベースに接続できない場合に発生します。

この接続には複数の要因が影響する可能性があるため、初心者がこのエラーをトラブルシューティングするのは少し難しいかもしれない。

過去16年間WordPressでブログを運営してきましたが、「Error establishing a database connection」を含む様々なエラーや警告に遭遇してきました。私たちの経験と多くの試行錯誤を通じて、サイトを中断することなくこれらの問題をトラブルシューティングする方法を学びました。

この投稿では、WordPressサイトの「Error establishing a database connection(データベース接続の確立エラー)」を簡単に修正する方法を順を追って説明します。

Fix the Error Establishing a Database Connection in WordPress

WordPressのデータベース接続確立エラーの原因は?

データベースとは、データを簡単に保存、整理し、他のソフトウェアから取り出すためのソフトウェアである。

コンテンツ管理システムであるWordPressは、すべてのコンテンツやその他のサイトデータを保存するためにデータベースを使用します。そして、誰かがあなたのサイトにアクセスするたびにデータベースに接続します。

WordPressはデータベースに接続するために以下の情報が必要です:

  • データベース名
  • データベースのユーザー名とパスワード
  • データベースサーバー

この情報は、wp-config.phpと呼ばれるWordPressの設定ファイルに保存されます。

これらの情報に誤りがある場合、WordPressはデータベースサーバーへの接続に失敗し、「Error establishing a database connection(データベース接続の確立エラー)」というエラーが表示されます。

Database connection error in WordPress

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 を使用しますが、他のホスティング パネルでも同様のプロセスになります。

ログイン中、左カラムの「ウェブサイト」タブをクリックし、「詳細設定」タブに切り替えます。次に、「データベース」セクションまでスクロールダウンし、その横にある「管理」ボタンをクリックします。

Click the Manage button next to the Database section

これにより、cPanelのMySQL Databasesページが新しいウィンドウで開きます。

ここで、’Current Database’ セクションにデータベース名とユーザー名があります。これらの情報をコピー&ペーストして、wp-configファイルに追加してください。

Find your database name and username in the Current Databases section

次に、「現在のユーザー」セクションまでスクロールダウンし、データベース名の横にある「パスワードの変更」リンクをクリックします。

新しい画面が表示され、データベースのパスワードを変更することができます。

Change your database password

データベースの詳細をすべて確認したら、必要に応じて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を自分のドメイン名に置き換えてください。

ここで、「データベースの修復」ボタンをクリックしてプロセスを開始する必要があります。

Repair WordPress database

注:データベース修復ページにアクセスするために、ユーザーはログイン中である必要はありません。データベースの修復と最適化が完了したら、wp-config.phpからこの行を削除してください。

しかし、サイトにコードを追加したくない場合は、ホスティングアカウントのcPanelを使用してデータベースを修復することもできます。

ホスティングサービスアカウントにアクセスし、左の列から「ウェブサイト」ページを開きます。次に、’Advanced’タブに切り替え、データベースセクションの’Manage’ボタンをクリックします。

Click the Manage button next to the Database section

新しいタブでcPanelが開きます。ここで、「データベースの修正」セクションまでスクロールダウンし、「データベースの修復」ドロップダウンメニューからデータベース名を選択します。

そうしたら、「データベースの修復」ボタンをクリックしてプロセスを開始する。

Click the Repair database button

ホスティングサービスパネルが自動的にデータベースを修復します。

プロセスが完了すると、成功のメッセージも表示されます。

Database repair success message

これでWordPressサイトにアクセスして、エラーが解決したかどうかを確認することができます。

4.データベースサーバーがダウンしていないか確認する

すべてが正しいように見えてもWordPressがデータベースに接続できない場合は、データベースサーバー(MySQLサーバー)がダウンしている可能性があります。

これは、サーバーのトラフィックが多いために起こる可能性があります。ホスティングサービスのサーバーが負荷に耐えられないのです(特に共有ホスティングの場合)。

このため、サイトが遅くなり、ユーザーによってはエラーが出力されることもあります。この場合、ホスティングサービスプロバイダーと電話またはライブチャットで、MySQLサーバーがレスポンシブかどうかを確認する必要があります。

さらに、同じサーバーで他のサイトを運営している場合は、それらのサイトをチェックして、SQLサーバーがダウンしていることを確認することができる。

同じホスティングアカウントに他のサイトがない場合は、ダッシュボードに移動し、[詳細設定]タブに切り替えるだけです。

その後、phpMyAdminセクションの横にある「管理」ボタンをクリックします。

Click the Manage button next to the PHPMyAdmin option

新しいウィンドウでphpMyAdminが開きますので、一番上の「データベース」設定をクリックしてください。

その後、データベースの名前をクリックして、その設定にアクセスしてください。それができたら、データベース・ユーザーに十分な権限があるかどうかをチェックしましょう。

Connect PHPMyAdmin with your database

そのためには、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'

このように見えるはずだ:

Change site URL

WordPressのテーブル接頭辞を変更している可能性があるので、自分のサイトURLをプロバイダーで指定し、wp_optionsを自分のテーブル名に変更することをお忘れなく。

2.Webサーバーの再起動

専用サーバー、ローカルサーバー、仮想専用サーバー(VPS)のユーザーは、サーバーの再起動を試すことができる。

これによりWebサーバーとデータベースサーバーが再起動され、エラーの原因となる一時的な不具合が修正される可能性があります。

3.助けを求める

他のすべてがうまくいかない場合は、ホスティングサービス会社に連絡する必要があるかもしれません。すべての優れたWordPressホスティングサービス会社は、トラブルシューティングを手伝い、正しい方向を示し、あるいは問題を解決してくれます。

WPBeginnerプロサービスのようなプラットフォームを使ってWordPress開発者を雇い、リーズナブルな料金でこの問題を解決することもできます。WPBeginner Pro Services には、WordPress の問題を解決するために信頼できる専門の開発者チームがあります。

WPBeginner Pro Services

サイトのメンテナンス、ハッキングされたサイトの修復、スピードの最適化、サイトの再構築、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.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

662件のコメント返信を残す

  1. 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.

      管理者

  2. 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!

  3. 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.

      管理者

  4. Dana Jewel

    Thanks for the article. Hopefully it will help.

    • WPBeginner Support

      You’re welcome :)

      管理者

  5. 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 :)

      管理者

  6. 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.

      管理者

  7. Erick

    This solution helped me a lot. Thanks so much.

    • WPBeginner Support

      You’re welcome :)

      管理者

  8. 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 :)

      管理者

  9. 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.

  10. 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.

      管理者

  11. 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!

  12. Omar

    I fixed it by adding “:3306” to the mysql adress “localhost” in wp-config

  13. 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.

  14. Jelena

    Dude, you have just saved me TONS of nerves! Thank you SO MUCH. Best wishes and God bless!

  15. 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!

  16. 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!

  17. 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 ^-^

  18. 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.

      管理者

  19. askhar

    Thank you very much for the guide,
    I follow step by step, and now my web is better.
    The tutorial is very useful

  20. 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!

  21. 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!

  22. 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

  23. 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.

  24. 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

  25. 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

  26. 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_’;

  27. 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!

  28. 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.

  29. 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

  30. 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!

  31. 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

  32. 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!

  33. Piter

    Thanks for the article and the video, I fixed my problem as well.

    But why does it happen? very strange.

  34. 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 :(

  35. Shahid

    Thanks a lot, I have fixed my problem.

  36. Anita Elder

    Your fix really saved me a lot of time and energy….thanks!!

  37. 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.

  38. 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!

  39. Mr Alexander

    its a nice read but having to call your provider to fix the permission issues fo r you… come on :)

  40. 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.

  41. 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.

  42. Marcin

    Thank you very much :)

  43. 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

  44. 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

  45. Samuel Rondot

    You guys just saved my life ! One more time.
    Thank you !

  46. 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.

  47. Angela

    You are a life saver! :) Thank you so much!!!!!

  48. 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 .

  49. 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!

  50. Irena Omazic

    Thank you so much! This is extremely useful for me. Regards from Bosnia!

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。