phpMyAdminでデフォルトの「host」値を使用している場合、ソケット接続を介して接続を試みます($cfg['Servers'][$i]['host'] = 'localhost';
config.inc.php
で明示的に設定していない限り、これがデフォルトです。 )。 Mac OSでは、何らかの理由でPHPとMySQLがソケットファイルのデフォルトの場所について合意していません。
簡単な解決策はいくつかありますが、そのうちの2つについては、最初にソケットへの実際のパスを決定する必要があります。最も簡単な方法は、MySQLコマンドプロンプトを表示することです。 [アプリケーション]->[ユーティリティ]フォルダで[ターミナル]を開き、mysql -u root -p
と入力します。 プロンプトが表示されたら、MySQLルートパスワードを入力します(デフォルトは通常空白です)。 MySQLプロンプトで、「status;
」と入力します 接続に関連するいくつかの設定のリストが表示されます。のようなものを探してください
UNIXソケット:/var/run/mysqld/mysqld.sock
これはソケットへのパスです。あなたのものはほぼ間違いなくこれとは異なるでしょう。
さて、これを修正する方法について:
- PHPのデフォルトのソケットを変更します。お気に入りのテキストエディタでPHP構成ファイル(おそらくphp.ini)を開き、
mysqli.default_socket =
の行に正しいパスを追加します。 。この変更は、デフォルトのシステムソケットパスを使用するすべてのPHPスクリプトに影響します。 - phpMyAdminのソケットのみを変更します。お気に入りのテキストエディタでphpMyAdmin構成ファイル(config.inc.php)を開きます。次の行を編集または追加します
$cfg['Servers'][$i]['socket'] = '';
正しいパスで。 - 接続タイプをTCPネットワーキングに切り替えます。ここでも、phpMyAdmin構成ファイル(config.inc.php)を編集し、
$cfg['Servers'][$i]['host'] = '127.0.0.1';
という行を編集または追加します。 。これにより、phpMyAdminはソケットの代わりにTCPネットワーク接続方式を使用するようになります。 MySQLインスタンスはデフォルトで着信TCP接続をリッスンしない可能性があり、MySQLユーザーは example @ sqldat.com [email protected] と同じではありません または[email protected] %。
3つすべてではなく、これらのソリューションの1つだけが必要です。