Skip to main content

macOS で wordpress の mysql 接続エラーの解決方法

問題

ローカルに wordpress と mysql をダウンロードして動作環境を構築した場合、wordpress を開いたら以下のエラーメッセージが表示されます。

Error establishing a database connection

wp-config.php でデータベースの接続情報を正しく記入しましたが php から mysql に接続できませんでした。 mysql -uroot -p コマンドでの接続は問題ありません。 netstat -na | grep 3306 で確認して mysql サーバーは正しく起動しているようです。

いろいろ調べて試したところ、以下の方法で解決できました。

解決案

php.ini を編集する必要があるため、このファイルの格納先を調べます。なければ新規作成します。

$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Loaded Configuration File の行に (none) と書いてある場合は php.ini が存在していないことを示していますので、php.ini を新規作成します。

sudo cp /etc/php.ini.default /etc/php.ini

再度 php -ini を実行します。

$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

Loaded Configuration File 行の出力は /etc/php.ini と変わりました。

php.ini を編集し、default_socket の値を /tmp/mysql.sock に指定します。

sudo nano /etc/php.ini

変更箇所:

pdo_mysql.default_socket = /tmp/mysql.sock
...
mysqli.default_socket = /tmp/mysql.sock

補足

以上で解決できなければ、この記事の問題と別問題の可能性があります。より多く情報を得るために、 wordpress の DEBUG 出力を ON にします。

wordpress の wp-config.php を編集して以下の設定を変更します。

define('WP_DEBUG', true);
define('WP_DEBUG', false);

Jingwood

北海道の田舎で暮らしているプログラマーです。最近山登りにハマりました。

Leave a Reply

Your email address will not be published. Required fields are marked *