mysql コンテナを使用して 2 つのサービス インスタンス (docker 内の mysql-server) を開始し、それらのデータを相互に通信させてから、mysql-client を開始する方法について質問します。
詳細な説明:
まず、mysql-client とサーバーの違いを説明するリンクを添付します:
https://stackoverflow .com/questions/6962890/what-is-the-difference-between-mysql-server-and-mysql-client
#次に、ディスカッションの内容と結論について話します。
以前混乱していたのは、クライアントはログインする必要がある (host -u -p) と言われていましたが、サーバーを使用する場合もログインする必要があります (-u -p)。そこで私は、クライアントとサーバーの違いは、ホストに接続されているかどうかであり、ホストに接続されていない場合はサーバーであるという考えに至りましたが、この考え方は実は正しくありません。
本質的な違いは、サーバーが crud 操作を実行し、クライアントが crud 操作を送信することです。サーバーは SQL ステートメントをメモリとファイルに対する操作に変換し、ファイルを直接操作します。
クライアントは、ファイルを直接操作するのではなく、データベース/テーブルを操作します。
例:
①クライアント: Navicat を使用してデータベースに接続します。この Navicat がクライアントです。
②server: 複数の mysql サービス インスタンスがあります。それらは異なるポートに配置できます (この文は重要ではありません) が、ホストの同じディレクトリにマウントされています (この文はメモリのために重要です /ファイルが操作されます)、データが共有されます(この文は重要ではありません)。
ちょっとした知識ポイント:①sql は、サーバーがデータをどのように操作するかを知っているだけです。
② C/S が同一マシン上にある場合でも、ネットワークを介して通信します。
Mysql 関連のその他の質問については、PHP 中国語 Web サイトをご覧ください:
https://www.php.cn/以上がmysql-server と mysql-client の違いの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。