MAMPのMySQLエラーを解消する「Can’t connect to MySQL server on ‘localhost’」
- 2018.12.01
- 2019.01.26
- Webスキル
よこのじ(@yokonoji_work)です。
MAMPをイジっていると、phpMyAdminにアクセスしたときに次のようなエラーが発生しました。
Error MySQL said: #2003 - Can't connect to MySQL server on 'localhost' (10061) — The server is not responding. mysqli_real_connect(): (HY000/2003): Can't connect to MySQL server on 'localhost' (10061)
このエラーを解消した方法を備忘録として残しておきます。
エラー状況を整理する
発生したのはこのようなエラーです。「Open start page」より初期画面のlocalhost/MAMP/には接続できますが、MySQLには接続できないという状況です。
そして、Stop Serverを押してもMySQL Serverは停止しません(Apache Serverは停止します)。
このような状況ですので、MySQL Serverが停止せずに起動したままになっているのが原因のようです。
こうなる前にやったこと、それはデータベース -> ユーザー でのパスワードの変更です。変更したのはrootのパスワードです。
エラー解消方法
「C:\MAMP\logs」フォルダにMySQLのエラー情報ファイルmysql_error_log.errがあります。これをメモ帳で開くと、私の場合はport: 8891に問題があるようです。
018-11-30 01:01:59 12132 [Note] Starting crash recovery... 2018-11-30 01:01:59 12132 [Note] Crash recovery finished. 2018-11-30 01:02:00 12132 [Note] Server hostname (bind-address): '*'; port: 8891 2018-11-30 01:02:00 12132 [Note] IPv6 is available. 2018-11-30 01:02:00 12132 [Note] - '::' resolves to '::'; 2018-11-30 01:02:00 12132 [Note] Server socket created on IP: '::'.
そして、私がやったこと。
まず、phpMyAdminのエラー画面を表示させます。
Apache Serverが停止している場合は「Open start page」でページが開けませんので、Apache Serverを起動する必要があります。しかし、「Stop Servers」のボタンしかないと思います。その場合は「Preferences」でApacheを別ポートに変更すると起動されます。
次に「C:\MAMP\bin\phpMyAdmin」フォルダにあるconfig.inc.phpを開いて、ポート番号をエラーログに記載のポートに書き換えます。今回、私の場合は3306を8891に変更しました。また、パスワードも変更後のものに書き換えます。
$cfg['Servers'][$i]['port'] = '3306'; // MySQL port $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = 'root'; // MySQL password
書き換えた後、エラー画面で「Retry to connect」またはページの更新をすると、正常にMySQLに接続できるはずです。接続できたら、MAMPの設定「Preferences」でMySQLのポートを先ほど書き換えたポートと同じにします。
このとき、MySQL Serverのポートが使用済みという表示があるかと思いますが、その場合は「Use anyway(とにかく使う)」を押して、設定で指定したポートを使うようにします。
これでもう一度phpMyAdminに接続できるか確認します。接続できたら「Stop Servers」を押して、MySQL Serverも正常に停止できることを確認します。
以上の内容で問題が解消されない場合は、エラー情報ファイルmysql_error_log.errを遡って他に問題があるポートがない確認して、同様の手順を行ってみてください。
- 前の記事
ブラウザ環境の影響を受けないWebサイトを作るためのリセットcss(reset css) 2018.11.29
- 次の記事
俺、オリジナルのWordPressテーマを自作します1 2018.12.03