15.8.2.2 CREATE SERVER를 사용한 FEDERATED 테이블 만들기
많은 FEDERATED
테이블을 같은 서버에 생성하거나 FEDERATED
테이블을 만드는 프로세스를 단순화 할 필요가있는 경우, CREATE SERVER
문을 사용하여 서버 연결 매개 변수를 정의 할 수 있습니다 ( CONNECTION
문자열의 경우와 같이) .
CREATE SERVER
문 형식은 다음과 같습니다.
CREATE SERVERserver_name
FOREIGN DATA WRAPPERwrapper_name
OPTIONS (option
[,option
] ...)
server_name
은 FEDERATED
테이블을 만들 때 연결 문자열에 사용됩니다.
예를 들어 CONNECTION
문자열과 동일한 서버 연결을 만들려면 다음과 같습니다.
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
다음 문을 사용하는 것입니다.
CREATE SERVER fedlink FOREIGN DATA WRAPPER mysql OPTIONS (USER 'fed_user', HOST 'remote_host', PORT 9306, DATABASE 'federated');
이 연결을 사용하는 FEDERATED
테이블을 작성하려면 CONNECTION
키워드도 사용하지만 CREATE SERVER
문에서 사용한 이름을 지정합니다.
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=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='fedlink/test_table';
이 경우 연결 이름은 연결의 이름 ( fedlink
)과 연결 테이블의 이름 ( test_table
)가 포함되어 있습니다 (구분 슬래시). 테이블 이름없이 연결 이름 만 지정한 경우 대신 로컬 테이블의 테이블 이름이 사용됩니다.
CREATE SERVER
에 대한 자세한 내용은 섹션 13.1.16 "CREATE SERVER 구문" 을 참조하십시오.
CREATE SERVER
문은 CONNECTION
문자열과 같은 인수를 받아들입니다. CREATE SERVER
문은 mysql.servers
테이블의 행을 업데이트합니다. 연결 문자열의 매개 변수 사이의 통신, CREATE SERVER
문 옵션 및 mysql.servers
테이블의 컬럼에 대한 정보는 다음 표를 참조하십시오. 참고로 CONNECTION
문자열의 형식은 다음과 같습니다.
scheme
://user_name
[:password
]@host_name
[:port_num
]/db_name
/tbl_name
설명 | CONNECTION 문자열 | CREATE SERVER 옵션 | mysql.servers 컬럼 |
---|---|---|---|
연결 방식 | scheme | wrapper_name | Wrapper |
원격 사용자 | user_name | USER | Username |
원격 암호 | password | PASSWORD | Password |
원격 호스트 | host_name | HOST | Host |
원격 포트 | port_num | PORT | Port |
원격 데이터베이스 | db_name | DATABASE | Db |