15.8.2.1 CONNECTION을 사용하여 FEDERATED 테이블 만들기
첫 번째 방법을 사용하려면 CREATE TABLE 문 엔진 유형 뒤에 CONNECTION 문자열을 지정해야합니다. 예 :
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';
CONNECTION 는 MySQL의 이전 버전에서 사용 된 COMMENT 를 대체합니다.
CONNECTION 문자열은 데이터를 물리적으로 저장하는 데 사용되는 테이블을 포함하여 원격 서버에 연결하는 데 필요한 정보가 포함되어 있습니다. 연결 문자열에는 서버 이름, 로그인 자격 증명, 포트 번호 및 데이터베이스 / 테이블 정보를 지정합니다. 이 예에서는 원격 테이블은 서버 remote_host 에 있고 포트 9306을 사용합니다. 이름과 포트 번호는 원격 테이블로 사용하는 원격 MySQL 서버의 호스트 이름 (또는 IP 주소)와 포트 번호와 일치해야합니다.
연결 문자열의 형식은 다음과 같습니다.
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
여기에서 :
scheme: 인식 된 연결 프로토콜. 이 시점에서는mysql만scheme값으로 지원하고 있습니다.user_name: 연결을위한 사용자 이름입니다. 이 사용자는 원격 서버에 생성되어 있어야 원격 테이블에서 필요한 작업 (SELECT,INSERT,UPDATE등)을 수행하는 데 적합한 권한을 가지고 있어야합니다.password: (옵션)user_name에 해당하는 암호.host_name: 원격 서버의 호스트 이름 또는 IP 주소입니다.port_num: (옵션) 원격 서버의 포트 번호. 기본값은 3306입니다.db_name: 원격 테이블을 유지하는 데이터베이스의 이름입니다.tbl_name: 원격 테이블의 이름. 로컬 테이블과 원격 테이블의 이름이 일치 할 필요는 없습니다.
연결 문자열의 예는 다음과 같습니다.
CONNECTION='mysql://username:password@hostname:port/database/tablename' CONNECTION='mysql://username@hostname/database/tablename' CONNECTION='mysql://username:password@hostname/database/tablename'