본문으로 바로가기

mysql dblink

category [ 서버 & DB 관련 ]/MySQL 2019. 4. 22. 19:16

 

 

/*
DB Link
FEDERATED Engine을 사용한 TABLE 생성
*/

1. FEDERATED 확인
mysql> SHOW ENGINES;

+--------------------+---------+
| Engine             | Support |
+--------------------+---------+
| FEDERATED          | YES     |  ← 이렇게 표시되어야 함
+--------------------+---------+


2. FEDERATED Engine이 존재하지 않는경우
mysql> INSTALL PLUGIN federated SONAME 'ha_federated.so';


3. FEDERATED Support가 NO일 경우

# MySQL 설정파일에 FEDERATED Engine 지원 설정 (CentOS 7 기준)
vi /etc/my.cnf

[mysqld] 아래에 federated 추가
federated

# MySQL 서비스 재기동
systemctl restart mysqld



4. Link할 서버 접속 정보 생성
# 생성
CREATE SERVER link_test
FOREIGN DATA WRAPPER mysql
OPTIONS (
  USER '원본DB 계정',
  PASSWORD '원본DB 계정 패스워드',
  HOST '원본DB IP',
  PORT 3306,
  DATABASE '원본DB명'
);

# 수정
ALTER SERVER link_test
  OPTIONS (
  USER '수정 계정',
  PASSWORD '수정 계정 패스워드',
  HOST '수정DB IP',
  PORT 3306,
  DATABASE '수정DB명'
);

# 삭제
DROP SERVER [링크서버명]



# LINK SERVER 조회
use mysql;
select * from servers;
use TEST; -- 확인 후 돌아옴



5. DB Link 처리할 TABLE 생성 (접근할 TABLE을 1:1로 모두 로컬에 생성. 같은 구조로)
# 생성
CREATE TABLE TEST_LINK (
  idx int primary key auto_increment
  ,v1 varchar(200)
  ,v2 varchar(200)
  ,v3 varchar(200)
  ,v4 varchar(200)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='link_test/TEST';

# CONNECTION에서 TEST는 원격지의 원본 DB의 해당 테이블명  



# 링크된 서버 조회 정보
use TEST;
select * from TEST_LINK;





 

 

 

 

 

 

 

https://jang8584.tistory.com/245

 

Mysql federated (oracle dblink 와 같은 기능) - 물리적 다른 DB 연결

1. FEDERATED 를 사용하는 이유 - mysql 에서 물리적으로 같은 서버면, 조회 권한만 주면 alias를 앞에 붙여서 다른 db 끼리 join 및 조회를 할수가 있다 ex) select a.a1 from db1.db_test1 a inner join db2.a1..

jang8584.tistory.com

http://smurf777.blogspot.com/2015/01/mysql-db-link.html

 

mysql DB Link 사용하는 법

MSSQL 에서는 DB Link를 만들어서 사용기 편하게 되어 있는데.. MySql 에서는 아래처럼 정의해서 써야 한다. 스키마가 원본과 같게 무조건 만들어야 되는게 가장 불편할듯하고.. 쓸수 있는거에 만족하며.. federated ...

smurf777.blogspot.com

 

'[ 서버 & DB 관련 ] > MySQL' 카테고리의 다른 글

mysql 커서 샘플 - Cursor  (0) 2019.04.29
group_concat() 한줄로 보이도록 -  (0) 2019.04.25
Mysql Join에 대한 설명  (0) 2019.01.21
MySQL 데이터 타입  (0) 2018.11.14
MySql 랭킹(순위) 추출 하기  (0) 2018.09.27