ホームページ >データベース >mysql チュートリアル >MySQL はリモート データベースにアクセスするための同等のリンク サーバーを提供しますか?

MySQL はリモート データベースにアクセスするための同等のリンク サーバーを提供しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 05:41:03909ブラウズ

Does MySQL Offer a Linked Server Equivalent for Accessing Remote Databases?

MySQL のリンク サーバー相当: FEDERATED エンジンの詳細

はじめに

データベースには、データが複数の場所に存在するシナリオが含まれることがよくあります。システム。この課題を克服するために、SQL Server や Oracle などのベンダーは、それぞれリンク サーバーや dblink などの概念を導入しています。しかし、MySQL を利用している場合はどうなるでしょうか?利用可能な同等の機能はありますか?

MySQL の FEDERATED エンジン: 概念を理解する

MySQL は、SQL Server のリンク サーバーまたは Oracle の dblink の正確なレプリカをネイティブにサポートしていません。 、FEDERATED エンジンも同様の機能を提供します。 FEDERATED エンジンを使用すると、他の MySQL インスタンス内のテーブルにローカル テーブルであるかのようにアクセスできます。

FEDERATED エンジンの設定 (MySQL 5.5)

  1. プラグインをインストールして有効にする: FEDERATED プラグインをインストールし、 MySQL 構成ファイル (my.cnf):
[mysqld]
federated = ON
  1. 外部データ ソースの構成: リモート MySQL サーバーを外部データ ソースとして定義します。サーバーのホスト、ポート、ユーザー名、パスワードを指定します:
CREATE FOREIGN DATA SOURCE example_ds
OPTIONS (
  LINK 'mysql://user:pass@host:port/dbname'
);
  1. ラッパー テーブルの作成: として機能するラッパー テーブルをローカル データベースに作成します。リモートへのインターフェースtable:
CREATE TABLE example_local LIKE example_remote;

FEDERATED テーブルの使用

設定が完了すると、あたかもローカル ラッパー テーブルを介してリモート MySQL テーブルにアクセスできます。ローカルテーブル。例:

SELECT * FROM example_local;

制限

FEDERATED エンジンはリンク サーバーのような機能を提供しますが、次のような制限があります。

  • MySQL データ ソースのみをサポートします: SQL Server のリンク サーバーとは異なり、 MySQL 以外のベンダーには接続できません。
  • パフォーマンスに関する考慮事項: 複数のサーバーにわたるクエリはパフォーマンスに影響を与える可能性があります。

代替: MySQL プロキシ

要件に MySQL 以外のデータ ソースへの接続が含まれる場合は、次のことを検討してください。 MySQL プロキシ。リンク サーバー/dblink と同じアーキテクチャに従っていませんが、同様の接続の課題に対するソリューションを提供します。

以上がMySQL はリモート データベースにアクセスするための同等のリンク サーバーを提供しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。