DB

[MySQL] INSTALL PLUGIN 완벽 가이드 사용법(플러그인 설치)

인생아 2025. 2. 18. 11:49
반응형

MySQL은 다양한 기능을 확장할 수 있도록 플러그인(PLUGIN) 시스템을 지원합니다. 이를 통해 기본적으로 제공되지 않는 추가적인 기능을 손쉽게 설치하고 사용할 수 있습니다.

MySQL INSTALL PLUGIN이란?

INSTALL PLUGIN 명령어는 MySQL에 새로운 플러그인을 추가할 때 사용되는 명령어입니다.
MySQL은 기본적으로 일부 플러그인만 활성화되어 있으며, 추가적인 기능이 필요할 경우 별도로 플러그인을 설치해야 합니다.

플러그인은 MySQL 서버의 기능을 확장하는 모듈로, 인증(authentication), 압축(compression), 로깅(logging), 스토리지 엔진(storage engine) 등 다양한 용도로 활용됩니다.

반응형

MySQL에서 플러그인이 필요한 이유

  1. 기능 확장
    • 기본적으로 제공되지 않는 인증 방식, 데이터 암호화, 성능 모니터링 등을 추가할 수 있음
    • 예: authentication_ldap_simple, mysql_no_login
  2. 스토리지 엔진(Storage Engine) 추가
    • MySQL은 다양한 스토리지 엔진을 지원하며, 필요에 따라 추가적으로 설치 가능
    • 예: InnoDB, MyISAM, MEMORY, TokuDB, RocksDB 등
  3. 보안 강화
    • 플러그인을 통해 SSL, 데이터 암호화, LDAP 인증 등의 기능 추가 가능
  4. 로그 및 모니터링
    • 성능을 추적하고 데이터를 분석하는 플러그인을 추가하여 MySQL 최적화 가능
반응형

MySQL 플러그인 목록 확인하기

설치된 플러그인을 확인하려면 다음 명령어를 실행하면 됩니다.

SHOW PLUGINS;

예제 실행 결과

+----------------------------+----------+----------------+---------+---------+
| Name                       | Status   | Type           | Library | License |
+----------------------------+----------+----------------+---------+---------+
| binlog                     | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
| mysql_native_password      | ACTIVE   | AUTHENTICATION | NULL    | GPL     |
| authentication_ldap_simple | DISABLED | AUTHENTICATION | NULL    | GPL     |
+----------------------------+----------+----------------+---------+---------+
  • Status: ACTIVE는 현재 사용 중인 플러그인, DISABLED는 비활성화된 플러그인
  • Type: 플러그인의 종류 (스토리지 엔진, 인증, 압축 등)
  • Library: 플러그인이 로드된 라이브러리

INSTALL PLUGIN 기본 문법

INSTALL PLUGIN 플러그인_이름 SONAME '라이브러리파일.so';
  • 플러그인_이름 → 설치할 플러그인의 이름
  • 라이브러리파일.so → 플러그인이 포함된 공유 라이브러리 파일

예제: MySQL LDAP 인증 플러그인 설치

INSTALL PLUGIN authentication_ldap_simple SONAME 'authentication_ldap_simple.so';

실행 후 확인

SHOW PLUGINS WHERE Name = 'authentication_ldap_simple';
+---------------------------+---------+----------------+-------------------------------+---------+
| Name                      | Status  | Type           | Library                       | License |
+---------------------------+---------+----------------+-------------------------------+---------+
| authentication_ldap_simple| ACTIVE  | AUTHENTICATION | authentication_ldap_simple.so | GPL     |
+---------------------------+---------+----------------+-------------------------------+---------+

위와 같이 ACTIVE 상태로 변경되면 정상적으로 플러그인이 설치된 것입니다.

반응형

MySQL 플러그인 설치 예제

1. MySQL TokuDB 스토리지 엔진 설치

TokuDB는 고성능 압축 기능을 제공하는 스토리지 엔진으로, 트랜잭션 성능을 향상시키는 데 유용합니다.

설치 방법

INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';

설치 후 확인:

SHOW ENGINES LIKE 'TokuDB';
+--------+---------+----------------------------------+
| Engine | Support | Comment                          |
+--------+---------+----------------------------------+
| TokuDB | YES     | Percona TokuDB Storage Engine    |
+--------+---------+----------------------------------+

2. MySQL audit_log 플러그인 설치

MySQL의 audit_log 플러그인은 데이터베이스에서 수행된 쿼리를 로깅하여 보안 감사 기능을 제공합니다.

INSTALL PLUGIN audit_log SONAME 'audit_log.so';

설치 후 확인

SHOW PLUGINS WHERE Name = 'audit_log';

활성화된 경우 예제 출력

+------------+--------+----------+--------------+---------+
| Name       | Status | Type     | Library      | License |
+------------+--------+----------+--------------+---------+
| audit_log  | ACTIVE | AUDIT    | audit_log.so | GPL     |
+------------+--------+----------+--------------+---------+

MySQL에서 플러그인 제거하기 (UNINSTALL PLUGIN)

설치한 플러그인을 제거하려면 UNINSTALL PLUGIN을 사용하면 됩니다.

UNINSTALL PLUGIN authentication_ldap_simple;

제거 후 확인:

SHOW PLUGINS WHERE Name = 'authentication_ldap_simple';

결과가 나오지 않으면 정상적으로 삭제된 것입니다.

반응형

INSTALL PLUGIN 실행 시 주의사항

  1. 플러그인 파일이 존재해야 함
    • SONAME '파일명.so'에서 지정한 .so 파일이 MySQL 플러그인 디렉토리에 존재해야 정상적으로 설치됨
  2. MySQL 권한 확인
    • INSTALL PLUGIN을 실행하려면 SUPER 권한이 필요
  3. MySQL 버전 확인
    • 일부 플러그인은 특정 버전에서만 지원되므로, 설치 전에 MySQL 문서를 참고해야 함
  4. MySQL 8.0 이상에서는 일부 플러그인 방식이 변경됨
    • 일부 기능이 플러그인에서 기본 기능으로 통합되었으므로 MySQL 버전별 지원 여부 확인 필요

결론

INSTALL PLUGIN 명령어를 사용하면 MySQL 기능을 확장하고 다양한 인증, 보안, 로깅, 스토리지 엔진 등을 추가할 수 있습니다.
하지만 설치 전에 플러그인이 지원되는 MySQL 버전인지 확인하고, 필요할 경우 UNINSTALL을 통해 안전하게 제거하는 것이 중요합니다.

반응형