SSH 터널 및 연합 테이블을 통한 MySQL 교차 서버 선택 쿼리
일반적인 접근 방식인 MySQL을 사용하여 서버 간 선택 쿼리를 수행하려면 서버 중 하나에 연합 테이블을 만드는 것입니다. 원격 테이블을 기반으로 연합 테이블을 생성하면 데이터가 모두 로컬에 있는 것처럼 쿼리할 수 있습니다.
단계:
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';
예:
다음 설정을 고려하세요.
Server IP | Database |
---|---|
1.2.3.4 | Test |
a.b.c.d | Test |
서버 1.2.3.4에서 연합 테이블을 생성하여 다음을 사용하여 서버 a.b.c.d의 테이블에 액세스할 수 있습니다. 다음 쿼리:
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@a.b.c.d:9306/Test/test_table';
연합 테이블이 생성되면 다음과 같이 쿼리할 수 있습니다.
SELECT * FROM federated_table;
이 쿼리는 a.b.c.d 서버의 test_table 테이블에서 행을 검색합니다.
위 내용은 연합 테이블과 SSH 터널을 사용하여 서버 간 MySQL SELECT 쿼리를 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!