質問: XAMPPを利用しています。 Apacheはサーバーシステムそのものなので、 『MySQLが設置されているサーバーの管理システムであるApache』 を起動していないとMySQLは使用できない、 ということはわかりました。 そして、私の設定では、 Apacheはポート8080、MySQLはポート3306 を使用しています。 ### 疑問 疑問は以下の通りです。 クライアントがMySQLに接続しようとするとき、 まず、サーバーであるApacheにアクセスしないとしょうがないので、 「Apacheのポート8080に接続する」 ことになると思います。 ということは、 MySQLのポート3306に直接アクセスできるわけではない ということだと思うのですが、あっていますでしょうか? すると、 MySQLはApacheの支配下にあるわけですから、 つまり、 「Apacheのポート8080の下に、MySQLポート3306が置かれる」 という感じに、ポートの階層構造が形成されている、という解釈はあっていますでしょうか? ご回答宜しくお願いします。 ちなみに、phpMyAdminはポート8080から起動されますが、 これはちゃんとMySQLにもつながっているのでしょうか? 併せてご回答いただけると幸いです。
回答: > > ApacheとMySQLとでポートが違うのはなぜですか? > > > 同じポートに2つのサーバを待たせられないからです。 > > MySQLのポート3306に直接アクセスできるわけではない > > ということだと思うのですが、あっていますでしょうか? > > > 間違っています。ポート開放すれば、外部から直接3306番にアクセスすることができます(もっとも、データベースサーバをインターネットからアクセス可能にするのは危険性が高いのでやめたほうがいいですが)。 > > 「Apacheのポート8080の下に、MySQLポート3306が置かれる」 > > という感じに、ポートの階層構造が形成されている、という解釈はあっていますでしょうか? > > > 間違っています。ApacheとMySQLは別個に動いています。