2018. 7. 6. 11:23ㆍplming/DB
Oracle의 DB Link와 동일한 것을
MySQL에서 처리하는 방법이
DB Link시킬 원격테이블을
Local에 FEDERATED Engine을 사용한 TABLE로 생성하는 것이다.
1. 준비
*** Local DB ***
1.1. FEDERATED Engine 사용가능하도록 설정
1.1.1. MySQL에서 FEDERATED Engine 존재여부/상태 확인
-- MySQL 접속 # mysql -u root -p
mysql> SHOW ENGINES; +--------------------+---------+ |
1.1.2. FEDERATED Engine이 존재하지 않는다면?
mysql> INSTALL PLUGIN federated SONAME 'ha_federated.so'; |
1.1.3. FEDERATED Support가 NO라면?
# MySQL 설정파일에 FEDERATED Engine 지원 설정
# sudo vi /etc/mysql/my.cnf
[mysqld] 아래에 아래 단어 추가 후 저장 # MySQL 서비스 재기동 # /etc/init.d/mysql restart |
※ 여기까지해서 FEDERATED Support가 YES 여야 한다.
*** (연결할) 원격 DB ***
1.2. 접속시킬 ID 생성/권한 설정
※ 다른 System에서 해당 ID를 사용하고 있다면,
(TEST용이 아니라면) 전체 권한을 주기보다는
접속할 IP와 접속 ID/비번을 별도로 지정하여 설정하는 것이 좋을 듯 하다.
-- MySQL 접속 # mysql -u root -p
-- 접속할 ID 생성 -- (지정한 IP에서만 접속을 사용할 수 있도록 제한한다.) mysql> CREATE USER '아이디'@'접속을시도하는DB의IP' IDENTIFIED BY '비밀번호';
-- 생성한 ID에 TABLE 접근 권한 설정 -- (해당 Schema의 모든 테이블에 접근할 때는 테이블명에 * 를 사용) -- (별도의 세부권한은 ALL 대신 쓸 수 있다...별도로 조사해야;;;) mysql> GRANT ALL PRIVILEGES ON DBSchema명.테이블명 TO 아이디@'접속을시도하는DB의IP'; |
mysql - DB Link, FEDERATED TABLE 생성 (2/2) - 생성
'plming > DB' 카테고리의 다른 글
MySQL - read/write Time Out 설정 (0) | 2019.06.23 |
---|---|
mysql - DB Link, FEDERATED TABLE 생성 (2/2) - 생성 (0) | 2018.07.06 |
mysql - tcp6 로만 실행될 때? (0) | 2018.07.04 |
MySQL - ERROR 2002 (HY000): Can't connect to local MySQL server through socket (0) | 2018.06.20 |
MySQL - 시간 간격 계산 (0) | 2018.05.16 |