mysql - DB Link, FEDERATED TABLE 생성 (2/2) - 생성

2018. 7. 6. 11:41plming/DB

mysql - DB Link, FEDERATED TABLE 생성 (1/2) - 준비

 


2. DB Link 처리할 TABLE 생성

   그렇다.  MySQL에서는 TABLE을 만들어야 원격 DB의 해당 TABLE을 접근할 수 있다.

              접근할 TABLE을 1:1로 모두 생성시켜야 한다.

 

2.1. 접속정보를 모두 입력해서 TABLE 생성

 

 CREATE TABLE 테이블명 { ... }

 ENGINE=FEDERATED ...

 CONNECTION='mysql://user_name[:password]@host_name[:port_num]/db_name/tbl_name';  ← 접속정보

참고 : https://dev.mysql.com/doc/refman/5.7/en/federated-create-connection.html

 

하지만, 이렇게 생성한 TABLE Script는

아래 명령을 사용해 확인할 수 있으며

CONNECTION에 입력한 접속정보까지 모두 표시된다.

 mysql> SHOW CREATE TABLE 테이블명;

 

(TEST용이 아니라면) 접속정보를 별도로 생성하는 것이 좋을 듯 하다.

 

 

2.2. 접속정보를 별도로 생성해서 TABLE 생성

 

 -- MySQL 접속

 # mysql -u root -p

 

 -- mysql database 사용

 mysql> USE mysql;

 

 -- 접속할 원격서버정보 추가

 mysql> CREATE SERVER 서버명

           FOREIGN DATA WRAPPER mysql

           OPTIONS ( HOST '접속할IP'
                        , DATABASE 'DB Schema명'
                        , USER '아이디'
                        , PASSWORD '비밀번호'
                        , OWNER '아이디'  ← 현재 미적용? 생략해도...
                        , PORT 3306 );

 

 -- 원격서버정보 조회

 mysql> SELECT * FROM servers;

 

 CREATE TABLE 테이블명 { ... }

 ENGINE=FEDERATED ...

 CONNECTION='생성한서버명/tbl_name';  ← 접속정보

참고 : https://dev.mysql.com/doc/refman/5.7/en/federated-create-server.html

 

 

이제 생성한 FEDERATED Table을 조회할 수 있다.