출처: http://devse.tistory.com/entry/MySQL-DBLink-구현을-위한-FEDERATED-엔진-활성화-및-테이블-생성 [Developer SE의 만남]
Oracle 과 MSSQL에 있는 DB Link 서비스를 MySQL에서 지원하는 FEDERATED 엔진을 이용하여 구현하는 방법 입니다.
1. 설치되어 있는 엔진 확인
- CentOS에서 yum 으로 설치했을때 기본적으로 사용 가능한 엔지들의 목록 입니다.
2. 엔진을 사용할 수 있도록 설치
3. FEDERATED 엔진의 설치여부 확인
- FEDERATED 엔진이 목록에 표시되지만 사용 가능하지 않은 상태 입니다.
4. 엔진 사용 가능 하도록 my.cnf 수정
- [mysqld] 하위에 federated 항목을 추가 합니다.
5. 엔진의 상태를 확인 합니다.
- FEDERATED 엔진의 Support 상태가 YES 로 변경 되었습니다.
----------------------------- FEDERATED 엔진을 사용하여 테이블을 생성하여 원격지 테이블과 연결 -------------------------
1. 원격지에 테이블을 생성 합니다.
CREATE TABLE `cityholic_db`.`cart_product` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '아이디',
`users_id` bigint(20) unsigned NOT NULL COMMENT '고객아이디',
`product_id` bigint(20) NOT NULL COMMENT '상품아이디',
`option_code` varchar(50) NOT NULL COMMENT '상품옵션코드',
`quantity` int(11) NOT NULL DEFAULT '0' COMMENT '상품 개수',
PRIMARY KEY (`users_id`,`product_id`,`option_code `),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='카트에 담긴 상품';
2. 로컬에 테이블을 생성 합니다.
CREATE TABLE `cityholic_db`.`cart_product` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '아이디',
`users_id` bigint(20) unsigned NOT NULL COMMENT '고객아이디',
`product_id` bigint(20) NOT NULL COMMENT '상품아이디',
`option_code` varchar(50) NOT NULL COMMENT '상품옵션코드',
`quantity` int(11) NOT NULL DEFAULT '0' COMMENT '상품 개수',
PRIMARY KEY (`users_id`,`product_id`,`option_code `),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8 COMMENT='카트에 담긴 상품'
CONNECTION='mysql://root:dldusrn1@10.3.0.27:3306/cityholic_db/cart_product';
- 원격지 테이블 Create 문에서 ENGINE 수정, CONNECTION 옵션 추가 작업만 수행 합니다.
- CONNECTION 옵션의 구성은 다음과 같습니다. 'mysql://[계정]:[비밀번호]@[서버ip]:[port]/[원격지DB명]/[원격지 테이블명]'
3. 이상 모든 설정을 완료 했다면 로컬에서 원격지의 Table을 로컬 테이블 처럼 사용 가능합니다. select, insert, update, delete 모두 가능 합니다.
Android 용 바로가기 앱 바로가기G : https://goo.gl/LjcQgi
'프로그램개발 > DB(MySQL,MariaDB,MongoDB)' 카테고리의 다른 글
[팁]Mysql 숫자 기준으로 정렬하기. (0) | 2018.08.16 |
---|---|
MySQL, MariaDB JSON 지원 (0) | 2018.01.11 |
[DBMS] MySQL 쿼리 모니터링 팁 (0) | 2017.11.07 |
Table '테이블명' is marked as crashed and should be repaired. (0) | 2017.10.31 |
mysql, mariadb에서 SHOW PROFILE 사용? (0) | 2017.10.27 |