[Mysql] FEDERATED Tables (DB Link)

렛츠웹 + 게임/My Tip 2009. 1. 5. 17:02
Mysql 5.0에서 새로 생긴 기능인 "FEDERATED Tables"은 기존의 Oracle이나 MS-Sql에서는 이미 익숙한 기능인 Database Link기능과 비슷한 성격을 가지고 있다. (Database 단위로 링크하는 기능은 아직 없고, Table 단위로 링크를 한다는 점이 다름)

Federated Tables기능을 사용하기 위해서는 Mysql 컴파일시 Configure에서 "-with-federated-storage-engine " 옵션을 주어야 한다. (MySQL 5.0.3 or newer. )

동일 서버 또는 원격지 서버 데이터베이스의 Table을 링크 할 수 있으며 사용방법은 다음과 같다.

■ 동일 서버 또는 원격지 서버의 Table
CREATE TABLE test_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=MyISAM
DEFAULT CHARSET=latin1;


■ Federated Table 생성
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://root@remote_host:9306/federated/test_table';

Connection String을 구성하는 방법은 아래와 같다.

CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'

※ Federated Tables의 취약점이라고 한다면 서버의 ID/Password가 노출된다는 점(?)이랄까?
posted by 망차니

설정

트랙백

댓글