【MySQL接続エラー】SQLSTATE[HY000] [2002] Connection refusedが発生した

code coder coding computer

今日はMySQL接続エラー「SQLSTATE[HY000] [2002] Connection refused」が発生した時の対処法を記載します。

目次

環境

まずは発生した環境を記載します。

環境 バージョン
Windows10 HOME
Docker Docker version 20.10.11, build dea9396
PHP 7.4
MySQL
5.7

エラー内容

エラー発生時のファイル

PHPファイルにMySQLに接続するためのファイル

  • dbconnect.php
<?php

$dbn = 'mysql:dbname=test;host=127.0.0.1;charset=utf8';
$user = 'root';
$password = '***';

try {
    $db = new PDO($dbn, $user, $password);
} catch (PDOException $e) {
    echo 'DB connect error'.$e->getMessage();
    die();
}
?>
  • registration.php
<?php
    session_start();
    require('dbconnect.php');
---以下省略----
?>

「registration.php」ファイルを表示すると以下のようなエラーが発生。

DB connect errorSQLSTATE[HY000] [2002] Connection refused

エラーを見ると「SQLSTATE[HY000] [2002] Connection refused」と書いてありました。

MySQLに上手く接続できてないようです。

対処法

ググっていると以下のサイトに対処方法が書いてありました。

dockerでmysqlに接続するにはどうすればいいか

サイトによるとMySQLのIPアドレスをを入力することで解決できると書いてましたので試してみます。

MySQLにログインして以下コマンドを入力します。

cat /etc/hosts

コマンドを入力すると次のように表示されましたので、IPアドレスを確認します。

127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.2      45338232747d

今回の場合「172.18.0.2」がMySQLのIPであるため、先ほどの「dbconnect.php」ファイルの「$dbn = ‘mysql:dbname=test;host=127.0.0.1;charset=utf8’;」のhost部分を書き換えます。

修正後のファイル

  • dbconnect.php
<?php

$dbn = 'mysql:dbname=test;host=172.18.0.2;charset=utf8';
$user = 'root';
$password = '***';

try {
    $db = new PDO($dbn, $user, $password);
} catch (PDOException $e) {
    echo 'DB connect error'.$e->getMessage();
    die();
}
?>

修正後「registration.php」を表示すると正常にMySQLに接続でき、表示することができました。

今回は以上となります。ありがとうございました。

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

30歳未経験からネットワークエンジニアに転職し、運用→構築→設計の仕事をやってます。色んな機器(Cisco、YAMAHA、Fortigate、PaloAlto)を触らせてもらいとても楽しい仕事です!

現在は派遣にて主にCiscoを中心としたネットワーク設計~構築をしております。

また、2023年より副業で個人事業主や小規模企業からのパソコン設定~ネットワーク作業の仕事を請け負っておりますので、もしお困りの方がいましたらお気軽にお問い合わせください。

●今までの作業履歴
- パソコンの新旧入れ替え
- 拠点間のインターネットVPN接続(YAMAHA-Fortigate)

コメント

コメントする

目次