>데이터 베이스 >MySQL 튜토리얼 >MySQL은 원격 데이터베이스에 액세스하기 위해 연결된 서버를 제공합니까?

MySQL은 원격 데이터베이스에 액세스하기 위해 연결된 서버를 제공합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-17 05:41:03912검색

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

MySQL의 연결된 서버에 해당: FEDERATED 엔진 탐구

소개

데이터베이스에는 데이터가 여러 곳에 상주하는 시나리오가 포함되는 경우가 많습니다. 시스템. 이러한 문제를 극복하기 위해 SQL Server 및 Oracle과 같은 공급업체는 각각 Linked Server 및 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. 래퍼 테이블 생성: 로컬 데이터베이스에 다음 역할을 하는 래퍼 테이블을 생성합니다. 원격 테이블에 대한 인터페이스:
CREATE TABLE example_local LIKE example_remote;

사용 FEDERATED 테이블

한번 구성되면 마치 로컬 테이블인 것처럼 로컬 래퍼 테이블을 통해 원격 MySQL 테이블에 액세스할 수 있습니다. 예:

SELECT * FROM example_local;

제한 사항

FEDERATED 엔진은 연결된 서버와 유사한 기능을 제공하지만 다음과 같은 제한 사항이 있습니다.

  • MySQL 데이터 소스만 지원: SQL Server의 Linked Server와 달리 MySQL 이외의 공급업체에 연결할 수 없습니다.
  • 성능 고려 사항: 여러 서버에 대한 쿼리는 성능에 영향을 미칠 수 있습니다.

대안: MySQL 프록시

MySQL이 아닌 데이터 소스에 연결해야 하는 경우 MySQL 프록시를 고려하세요. 연결된 서버/dblink와 동일한 아키텍처를 따르지는 않지만 유사한 연결 문제에 대한 솔루션을 제공합니다.

위 내용은 MySQL은 원격 데이터베이스에 액세스하기 위해 연결된 서버를 제공합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.