사내 DB 서버는 보안상 외부에 공개를 안해놓은 상태인데..
특정 데이터를 급 외부 서비스인 Google DataStudio 연결 할 필요가 생겨서 테이블을 옮길까.. 하다가
그냥 dblink 로 걸어버리면 동기화문제도 해결될것같아 진행해봤다 ㅋ
우선 - 데이터 원본 DB서버(DB-1) 와 외부 서비스 용 DB(DB-2) 라고 해두고... 진행 순서는 아래와 같다
1> DB-1 에 외부로 링크 걸 테이블 을 확인하고
2> 해당 database 에만 접속 가능한 연결용 추가 계정을 만든다(권한은 최대한 제어하는것을 추천)
3> DB-2 에 커넥션 엔진 확인 ( show engines; )
4> 우리 서버에는 federated 가 설치 되어있지만, 없으신 분들은 아래와 같이 DB-2 에 설치
(DB-1에는 설치 안해도 됨)
INSTALL PLUGIN FEDERATED SONAME "ha_federated.so";
5> 설치 후 연결 고고(DB-2 에서 실행)
CREATE TABLE '테이블명'
(
DB-1 에 있는 테이블과 동일한 칼럼 세팅
)
ENGINE=FEDERATED
CONNECTION='mysql://계정:비번@서버(DB-1):3306/데이터베이스명/테이블명';
* 테이블명 : DB-1 에 있는 테이블명과 같아도 되고 달라도 되지만 creat 이기 때문에 DB-2내에 동일 명이 있으면 안됨
* DB-1 에 있는 테이블과 동일한 칼럼 세팅 : 테이블 명은 달라도 되지만, 칼럼 세팅은 동일해야 함
* 계정:비번 : 위 2>에서 생성한 계정 정보
* 데이터베이스명/테이블명 : DB-1 의 DB명 & 테이블명
요럼 아주아주 잘 되고, 데이터도 빠르게 잘나옴
첨언> 나는 첨 연결하고, 위 테이블 dblink 시 잘 생성이 되었으나 조회가 안되어 확인해보니 커넥션 에러가 있었다
>> 110 “Connection timed out” // 확인해보니 방화벽 때문에 커넥션이 안되는 문제였다. ㅋㅋㅋㅋ
'개발 관련' 카테고리의 다른 글
리눅스(linux) 폴더별 용량 확인하기 (0) | 2022.01.18 |
---|---|
mariadb subquery 10.2 ? (0) | 2021.08.10 |
python selenium hidden 텍스트 가져오기 (0) | 2021.07.08 |
Google Analytics 4 ~!? (0) | 2020.10.26 |
php csv mysql 입력 시 한글 깨짐 처리 (0) | 2020.01.30 |
댓글