[Wordpress]データベース接続確立エラー解決のための4つの対処法

じょるブログ

現役理系大学生による大学生に向けた情報サイト

WordPress

[WordPress]データベース接続確立エラー解決のための4つの対処法

投稿日:

 

ubuntuにApache2、WordPressを導入し動作確認を行った際、データベース接続エラーとなってしまった。この記事ではデータベース接続確立エラーとなってしまった場合に行うべき対処法を4つ紹介する。

   

原因

データベース接続エラーはワードプレスとMySQLの接続がうまくいかないことにより起こる。ワードプレス内でのMySQLの設定はwp-config.phpというファイルに記述されており、この情報を元にデータベースへ接続する。

よって、考えられる主な原因は

  • wp-config.php の記述ミス
  • MySQL自体の設定ミス
  • サーバー自体の問題

の3つである。

   

   

データベース接続確立エラーの対処法

  • wp-config.php に記述ミスがないか確認
  • wp-config.php のMySQL のホスト名にループバックアドレスを指定する
  • MySQLのパスワードを再設定する
  • Mysqlの認証プラグインを変更する

  

wp-config.php に記述ミスがないか確認

まずは、基本的なところではあるが、 wp-config.php に記述ミスがないかを確認する。 wp-config.php は wordpressディレクトリのすぐ下の階層である

/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', 'データベース名' );

/** MySQL database username */
define( 'DB_USER', 'データベースユーザー名' );

/** MySQL database password */
define( 'DB_PASSWORD', 'データベースパスワード' );

/** MySQL hostname */
define( 'DB_HOST', 'ホスト名(localhostとか)' );

と記載されているので、これらの情報を確認する。

次に実際にこれらの値でMySQLにアクセスすることができるかを以下のコマンドで確認する。

mysql -u ユーザー名 -h ホスト名 データベース名 -p

  

wp-config.php のMySQL のホスト名にループバックアドレスを指定する

wp-config.php ファイルの “MySQL hostname” を

define( 'DB_HOST', 'localhost' );
            ↓
define( 'DB_HOST', '127.0.0.1' );

のようにホスト名をループバックアドレスに変更する。

    

MySQLのパスワードを再設定する

rootユーザでログインすることができても、一般ユーザーだとログインすることができないことがあるらしい。

まず、rootユーザーでログインできることを確認する。

$ su - root
# mysql -u root

次に一般ユーザーでログインできるか確認する。

# su - 一般ユーザー名
$ mysql -u root

これでエラーが出る場合は、以下のコマンド

mysql> set password for root@localhost=password('パスワード');
mysql> flush privileges;

を実行し、 パスワードを再設定すると正常に動作することがあるらしい。

   

Mysqlの認証プラグインを変更する

自分はこの方法で解決しました。

まず、MySQLにログインし、現在の認証プラグインを確認する。

mysql> SELECT user,plugin, authentication_string from mysql.user;

自分の場合rootの認証プラグインだけが

mysql_native_password

となっていなかった。

そこで、以下のコマンドでrootの認証プラグインを mysql_native_password に変更したところデータベース接続エラーが解決した。

mysql> alter user 'admin'@'%' identified WITH mysql_native_password by 'password';

   

    

参考URL

google ads




google ads




-WordPress

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ubuntu18.04でwordpressをapache2で動作させるまで

    今までは研究室内の各種引継ぎ情報や機密情報などは研究室専用のWiki(Seesaa Wiki )に記載して共有していたのですが、機密情報を外部サービスに公開するのはあまり良くないと以前から話題 …