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. Riya Mehta

    Hey,

    Today I got the same error and I fixed this by giving all privilege(Permissions) to user under the database defined in configuration file that is wp.config file.

  2. bog

    What happened to me was that my hard drive (linux) spontaneously went into read-only mode. Out of nowhere. I know this is an obscure cause, but nonetheless I thought I’d pitch in. (usually the sign of a dieing drive, I’m told).

  3. Masood Ahmad

    Hi everyone,
    In my case it was very simple. The password for MySQL database and the password in the wp_config.php must be same, ignorant of the fact, I changed the password for mysql database and remained upset the whole day. Until by chance I reverted the change. My site was up and live in the next second.

  4. Jamie

    When i rename index.php to index_.php — then the back end of the website loads up fine

    Pages on the website give a normal ‘Not Found’ Apache error

    ——

    When i restore the index.php filename — then nothing works, and I receive ‘error establishing a database connection’ on public facing pages. And wordpress’ own ‘error establishing a databse connection’ text box when I visit /wp-admin

    Any help you can offer will be much appreciated!

  5. Tony thomas

    When you are operating in google cloud, you may often receive this error if your RAM is using more resources.

    login to google cloud

    Find the instance from ‘compute engine’. Click on the top menu to find ‘compute engine’

    login to SSH

    type sudo bash (to enter as root)

    Then type/copy paste :

    systemctl start mariadb.service (in centos 7)

    error establishing database will be solved instantly.

    • Jarrett

      If you’re using mysql, you can do this

      sudo service mysql restart

      Thanks for the pointer!

      • Sabir Guiri

        It worked perfectly. thank you so much!

  6. Yudha Haris

    Thanks So Much IT’S WORK..

  7. Tim

    Thank you for this article…it’s the most useful on the web I would say.

    I still have the problem anyway (host is Godaddy)…I created the testconnection.php page and i get this error message :

    Warning: mysql_connect(): Access denied for user ‘username’@’hostIP’ (using password: YES) in /home/content/n3pnexwpnas01_data02/52/3027952/html/wp-config.php on line 106
    Could not connect: Access denied for user ‘username’@’hostIP’ (using password: YES)

    – username being the username I use to connect to database via Phpmyadmin
    – password being the password I use to connect to database via Phpmyadmin
    – hostIP being the hostname value I found in the database variables in Phpmyadmin

    I have been stuck for hours now…can you help me on this ? I have no idea what to do and how to do it…

    Thank you in advance

    • WPBeginner Support

      The most likely reason for this is incorrect information in your wp-config.php file. This could be your MySQL host, username, password, or database name. IF you are using hostname IP, then try adding port to it. Ask your web host for support.

      管理者

  8. Prashant

    Dear Friends,

    I M New and very little to know about wordpress today i face a prob

    when i try to publish a new post or update the older one and push the button publish or updates its automatically redirected to home page nothing happen not change in updated post not publish a new post please help me if anybody know about such an issue.

    thanks

    • WPBeginner Support

      Try updating permalinks by visiting Settings->Permalinks page and just click on the update button.

      管理者

  9. Abel

    Hey, thanks, this worked for me, thumps up!

  10. Robert DeRobertis

    Thank you, Thank you, Thank you.

    I was hacked recently and changed the passwords to my website to something more secure. I missed updating the config file. This saved the day.

  11. Cássio Sá

    My friend, i’m having tears of joy right now, you saved my life. The problem was in the config file. I imported the old database and changed the credencials on it, but haven’t changed the credencials in the config file. Thank you very much for the tip.

  12. Ali

    I just change http to HTTPS Now my site is not opening and showing same error please tell me what to do now ?

    • Ryan

      Have you changed the site url in the database in WP_Options table?

  13. feizel

    Thank you so much. i have been searching for the solution like all night.

  14. Paul

    Hey great article about how to troubleshoot database connection errors.

    Might be good idea to link to your old article about making a custom dB error page. Otherwise if utilising good caching program it can take a while before actually realise something is wrong. This article and the mail function means you can be notified instantly and provide a nice image and custom text which is more professional than the default message.

    https://www.wpbeginner.com/wp-tutorials/how-to-add-a-custom-database-error-page-in-wordpress/

  15. stephanie wandke

    Thanks for this article! It was definitely a database user issue and when I added a new user and password, changed the wp-config file, BAM the site was back. You made it easy and I solved my problem in under 15 minutes. Thank you!

  16. Edward

    Godaddy customer. Getting this same issue.

    Database was working fine. What worked for me was to go into wp_config and change the following line:

    define(‘DB_HOST’, ‘localhost’); [the db_host was something different, not localhost]

    to

    define(‘DB_HOST’, ‘[my IP address]’) and it worked fine

    Thanks for the tip!

    • Daryl

      This worked for me on my GoDaddy Site

  17. Shakti

    Sir help me please
    My website is loading, and working fine but I get error establishing database connection when I tried wp-admin and again I reloaded page 3-10 times and my site is working. Again I get that error unexpectedly.

    • WPBeginner Support

      It seems that your database server is not responding. Please contact your web host and tell them what’s happening.

      管理者

      • Shakti

        Ok Thankyou Sir

  18. Shelly

    My site goes down and I get this same error message at the same time every night. It lasts for about an hour and a half, and then the site is back up again. Would that indicate an issue with my hosting service?

    • Harinath

      Did you happen to find any resolution for it?

  19. Liesje

    Thanks a lot for this article ! Piece of cake this way :-)
    Saved me a lot of work and headaches.

    Kinders regards,
    Liesje

  20. praveen

    i have error in wp-admin page. its says Error establishing a database connection. how to solve it .

  21. Ian Wells

    This occurred once for me on my EC2 AWS instance. The cause was I am using a small t2. micro server, and I sometimes got too many httpd requests coming in, especially when I turned on my AWS health checks which increase traffic. I reconfigured my /etc/httpd/conf/httpd.conf per instructions here: https://wordpress.org/support/topic/how-to-optimize-apache-for-wordpress and so far, so good. I no longer see 20 or more httpd processes running at once, followed by out of memory and data base disconnected.

  22. Ian Wells

    This error kept occurring. I could clear it by rebooting EC2 but not very satisfactory. Then I noticed my EC2 installation was out of date, so I ran “sudo yum update” on the server. Looking much more stable now.

  23. ani

    nice …exhaustive ..detailed information …i fought with my hosting guys and demanded a root cause for slow DB performance /connectivity…these guys kept recommended to upgrade hosting account to dedicated setup ..POST gave insights on probable problems and ways to tackle .

    Thanks !

  24. alexsbutler

    You can also try Kernel for Word file repair tool to repair your corrupted Word file easily.

  25. Ken Pyle

    Thanks for the article. Lunarpages is my host and around 2:30 AM (thanks Jetpack for monitoring my site), my site quit working and I also had the “Error Establishing Connection to the Database Error.”

    How I fixed the problem was to re-enter the password into the MySQL database (got there via Cpanel). I used the same password that was already in the config file, so that way I only had to change one variable.

    I have tried it on 3 Wordpress installs so far and it seems to work, as Jetpack informed me that my site is back up after being down for 16 hours.

    It is a mystery as to why it disconnected.

    • Jason Teale

      I am on Lunarpages as well. So basically, I just have to re-enter the the blog password and that is it? What was the one variable that you changed?

      • Mike B

        I also am on Lunarpages. I also needed to re-enter my password in C-Panel. Something must have happened with Lunarpages this morning.

    • NickP

      Thank you, Ken! Exactly what I needed to know. Back up and running in minutes…

  26. Harm

    I made some changes in wp_user and wp_metadata to create a new admin. Then I get this message. I tried to look at the wp-config-file, but get the same message! What can I do more?

  27. Scott

    Sort of silly looking back at this, but it might help someone else so I think it’s worth sharing. Recently had a site that was set up to use Cloudflare as it’s CDN. All the DNS “A” records were set except for the one for “mysql.domain.com”, so even using the testconnection.php trick didn’t work (on Dreamhost that doesn’t use localhost). Simply added the “A” record in Cloudflare and life was good again.

  28. Sharad Gupta

    An awesome solution for a very difficult and annoying problem .

  29. MaSilat

    Awesome. It helped me and solve DB problem.

  30. Mohamed Azazy

    You can also restart your MySQL service if you’re using VPS.
    – sudo service mysql restart

    Worked for me!

    • Dustin Overbeck

      Thanks for this suggestion. Restarting mysql was the magic bullet in my situation.

  31. Michael D

    Thanks for this article, it helped!

    We had the error occurring in both the root domain and wp-login. Changing ‘localhost’ to the IP in wp-config.php fixed it.

  32. Rav

    It appeared my ‘localhost’ was not working so I just added the direct address of my hosting provider (mysql.hostinger.co.uk) and everything started working again!

    Thanks for the help!

  33. Christopher

    Actually, I’m getting “Error establishing a database connection” in my home page only. All other pages are working fine. Please let me know what to do.

  34. Adrienne

    My old client has this issue now, and her site is about 3 years old and hasn’t been updated. I think the theme and all the changes has corrupted this site. It needs to be scrapped and redone…. now, I have to find a simple way to do it. lol

  35. Nicole

    I was moving a multisite system- I had to switch out the old website name in my database, and in the .htaccess and wp-config files

  36. m3d01

    Hello guys,

    I found the problem that my hosting service made update and that lead to change in the DB_HOST number so i change it back by the new one by edit the config file and the site is back again to work finally :)

  37. John Bert

    Recently I have transferred from Arvixe to Phi9 web host.
    Actually I forgot to change the previous host “MySQL Connections Strings” in wp-config.php. Now it’s working.

    Thank you for your great help I really appreciate it! :)

  38. Micky

    I have seen this error. I was putting the wrong MySQL port in connection line. Your post helped me fix it. :)

  39. Carl

    This seems logical. But I go through each step and nothing changes. Why is this so complex?
    I liked the idea of the database repair but it appears that Wordpress would need to be up and running to hit the Repair Database button. I’ve been at this for 2 days. Is there a place to go where I can find the problem by looking at some code? This all seems so vague.

  40. Leonard Rattini

    As I worked in computer application design for 30-years, and I’m also registered as a Certified Computer Professional, many people, to impress, use the “database” term incorrectly.

    Database is a different data retaining methodology than what was use before its time. Back in the earlier days, data was retained on liked related 80-column cards and collectively they were know as a file. For instant many invoice records, collectively were known as the Invoice File. Medical records collectively, were known as a Medical file, etc.

    In early big main frame computer days, before PC’s that came along, they processed these “80-column fixed-records.” With the advent of the Internet and distributed multiple keyboards, data then was recorded as “data packets” and they are stored in a “database,” which is a three-dimensional format structure stored in the computer. Then at the right time, to process, data items needed “linked’ data packets then allowed for this to happen which then looked like a record we are familiar with.

    An application must be designed as a database base application that includes a Database Administrator person, otherwise its application is not a database application.

    A database application served two main purposes versus the old file methods used in the olden days before the Internet and distributed keyboards. One was to capture data items at first point of (data) entry. And secondly, it is intended to eliminate “data-redundancy.” Leonard Rattini, CCP (to know of my CCP credentials, google ICCP)

  41. Toby Harding

    I’ve seen this error a few times now, with my Wordpress that is hosted on an Amazon EC2 box in their AWS cloud. Simple way to fix the issue is to restart the instance from the AWS admin console.

  42. Jake B

    Thanks for the article. I was able to work through each step until I found my issue.

  43. Unknown

    Hey, i am getting this error while installing wordpress “Error establishing a database connection” what should i do to get rid of this error .I’ve tried everything like changed database name , deleted previous databases but still wordpress is not is not installed yet. Please help !

  44. David Clarke

    Solved my issue in minutes thanks to this helpful article, thanks a lot!

  45. Friday

    I can’t help it, since i created my site i haven’t touched that area can you help me to do it

  46. mikhail

    Thanks for the article, it helps.
    For me it’s because I change my database user password from CPanel but apparently the wpconfig.php file won’t change automatically when i changed my database user password .

    I have to change it manually in
    define(‘DB_PASSWORD’, ‘[insert your password here]’);

    • Juan Loayza

      Thks so much! It was a headache … until I found your solution…

    • Tapiwa

      Dude! Thank you so much! I just fixed my website thank to this article and your comment.

  47. Max Demian

    Really useful, thank you.

  48. James Kalmakoff

    The article was very useful and I resolved my Database connection problem. A further place to look for errors is in the MySQL database. Be sure that the ‘database_username’ and the ‘database_name’ are correctly assigned to each other and that there are no typos!

  49. Dawn

    I just got this error, I copy and Pasted a page to a word document, I saw that there was a paragragh added with ads and links to sites like viagra ect. I removed the ad/links paragragh and re-pasted the text back into my webpage. I was on the second page and posted the updates, when I received this error…any one else had this?

    • J

      Hey – this won’t help your problem, but you shouldn’t be using Word to edit these files. You want to use a simpler program like Notepad/TextEdit etc.

  50. Peter Gough

    Many thanks for this article. Very, very useful.

返信を残す

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