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'