문서의 이전 판입니다!


MySQL에 FEDERATED engine 추가

원본 링크 : http://blog.weirdx.io/post/3503

FEDERATED 스토리지 엔진을 사용하면 리플리케이션이나 클러스터 기술을 이용하지 않고도 원격의 MySQL 데이터베이스에 접근할 수 있다. 서비스 운영을 위해 여러 데이터베이스를 사용하는데, 한 데이터베이스의 데이터를 다른 데이터베이스들이 참조하여 사용할 때 활용할 수 있다. Oracle의 DBLink와 유사한 기능이라고 한다.

FEDERATED 엔진은 MySQL에 기본으로 설정되어 있지 않기 때문에 이를 사용하기 위해서는 별도의 작업이 필요하다. 검색을 해보면 처음에 설치할 때 부터 –with-federated-storage-engine 옵션을 주어야 한다는 등의 이야기 등이 있지만, 실제로는 재설치를 하거나 할 필요는 없다.

mysql 에 root 로 접속해서 아래 명령어를 입력한다.

install plugin federated soname 'ha_federated.so'

실제로 DB에 접속해서 해보면 아래와 같이 추가된다.

mysql> show engines;
+-------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine      | Support | Comment                                                    | Transactions | XA   | Savepoints |
+-------------+---------+------------------------------------------------------------+--------------+------+------------+
| DAMO_MYISAM | YES     | DAmo storage engine                                        | NO           | NO   | NO         |
| MRG_MYISAM  | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| CSV         | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| MyISAM      | YES     | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| InnoDB      | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY      | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
| DAMO_INNODB | YES     | DAmo storage engine                                        | YES          | NO   | NO         |
+-------------+---------+------------------------------------------------------------+--------------+------+------------+
7 rows in set (0.00 sec)

mysql> install plugin federated soname 'ha_federated.so';
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> show engines;
+-------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine      | Support | Comment                                                    | Transactions | XA   | Savepoints |
+-------------+---------+------------------------------------------------------------+--------------+------+------------+
| DAMO_MYISAM | YES     | DAmo storage engine                                        | NO           | NO   | NO         |
| FEDERATED   | NO      | Federated MySQL storage engine                             | NULL         | NULL | NULL       |
| CSV         | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| MyISAM      | YES     | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| InnoDB      | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY      | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
| DAMO_INNODB | YES     | DAmo storage engine                                        | YES          | NO   | NO         |
| MRG_MYISAM  | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
+-------------+---------+------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.01 sec)

이제 show engine 을 해보면 목록에서 FEDERATED Engine 이 나타나지만 꺼져있는 상태이다.

/etc/my.cnf 를 열어 [mysqld] 아래에 federated 라는 단어를 추가한다.

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
federated # 이부분 추가

MySQL을 다시 실행시킨 후 다시 show engines 를 하면 FEDERATED Engine 이 사용가능하게 된 것을 확인할 수 있다.

로그인하면 댓글을 남길 수 있습니다.
  • mysql에_federated_engine_추가.1465277438.txt.gz
  • 마지막으로 수정됨: 2016/06/07 05:30
  • 저자 koov