SSH トンネルとフェデレーテッド テーブルを介した MySQL クロスサーバー選択クエリ
MySQL を使用してクロスサーバー選択クエリを実行するには、一般的なアプローチサーバーの 1 つにフェデレーテッド テーブルを作成することです。リモート テーブルに基づいてフェデレーテッド テーブルを作成すると、データがすべてローカルに配置されているかのようにクエリを実行できます。
手順:
CREATE TABLE federated_table ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
例:
次のセットアップを考えてみましょう:
Server IP | Database |
---|---|
1.2.3.4 | Test |
a.b.c.d | Test |
サーバー 1.2.3.4 上にフェデレーテッド テーブルを作成し、次を使用してサーバー a.b.c.d 上のテーブルにアクセスできます。次のクエリ:
CREATE TABLE federated_table ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://fed_user@a.b.c.d:9306/Test/test_table';
フェデレーテッド テーブルが作成されたら、次のようにクエリできます:
SELECT * FROM federated_table;
このクエリは、サーバー a.b.c.d.
以上がフェデレーテッド テーブルと SSH トンネルを使用してクロスサーバー MySQL SELECT クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。