2016-12-03 5 views
2

私が取り組んでいるアーキテクチャのダイアグラムを作成しようとしています。そうしている間、私はPHPとMySQLデータベースの間でどのような通信が実際に起こっているのか疑問に思っていました。私はそれを何度も使用しましたが、それについて本当に疑問に思ったことはありません。 MySQLデータベースが別のサーバにある場合、PHPはどのようにクエリを送信しますか? PHPレイヤーは接続を確立しますが、実際にデータベースに問い合わせるときに何が起きていますか?クエリをプレーンテキストとして送信しますか?実際には何が実際に受け取られますか?あなたはそれを心配する必要はありませんので、PHPとMySQLデータベースの通信方法

よろしく

答えて

3

SQLの通信態様は、多くの場合、ドライバ(ODBCなど)によって運ばれます。

MySQLは独自のプロトコルを使用します。ハンドシェークフェーズで認証があり、準備されたステートメントをCOM_STMT_PREPARE経由でサーバーに送信し、サーバーにCOM_STMT_EXECUTEで実行するよう依頼します。

あなたはMySQLの内部マニュアルの表情を取得する場合がありますので、基本的に私は、リンクの外に出たものを

https://dev.mysql.com/doc/internals/en/client-server-protocol.html

+0

をMySQLドライバは、したがって、独自のプロトコルを使用して通信するときに/パッケージを送受信する、ということです送受信時にそれらを符号化/復号化する。それはある種のソケット通信ですか? – b101

+1

ええ、あなたはそれを持っています。他の誰かがそれをさらに確認することができましたが、それはそのように見えます。 – Galcha

関連する問題