MySQL에서는 INSTALL PLUGIN 명령어를 사용하여 플러그인을 추가할 수 있지만, 불필요하거나 더 이상 사용하지 않는 플러그인은 삭제하는 것이 좋습니다. 불필요한 플러그인이 남아 있으면 보안 위험이 증가하고, 시스템 리소스를 낭비할 수 있기 때문입니다.

MySQL UNINSTALL PLUGIN이란?
UNINSTALL PLUGIN 명령어는 MySQL에서 특정 플러그인을 제거할 때 사용하는 명령어입니다. 플러그인을 삭제하면 MySQL 서버가 해당 기능을 더 이상 사용할 수 없게 됩니다.
플러그인을 제거해야 하는 대표적인 이유는 다음과 같습니다.
- 사용하지 않는 플러그인 정리
- MySQL에 설치된 플러그인 중 사용하지 않는 것은 삭제하여 서버 성능을 최적화할 수 있음
- 보안 강화
- 일부 플러그인은 보안 취약점을 가질 수 있기 때문에 사용하지 않는 플러그인은 삭제하는 것이 좋음
- 플러그인 충돌 방지
- 특정 플러그인이 다른 플러그인과 충돌할 경우 삭제하여 MySQL 서버의 안정성을 유지
- MySQL 업그레이드 시 불필요한 플러그인 제거
- 최신 버전에서 기본 기능으로 통합된 플러그인은 삭제하여 MySQL 버전 업그레이드를 원활하게 진행
MySQL 플러그인 목록 확인하기
먼저, 현재 설치된 플러그인 목록을 확인하려면 다음 명령어를 실행합니다.
SHOW PLUGINS;
출력 예제:
+----------------------------+----------+----------------+------------------------+---------+
| Name | Status | Type | Library | License |
+----------------------------+----------+----------------+------------------------+---------+
| mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| authentication_ldap_simple | ACTIVE | AUTHENTICATION | authentication_ldap.so | GPL |
| audit_log | ACTIVE | AUDIT | audit_log.so | GPL |
+----------------------------+----------+----------------+------------------------+---------+
이제 삭제할 플러그인을 선택하여 제거할 수 있습니다.
MySQL UNINSTALL PLUGIN 기본 문법
UNINSTALL PLUGIN 플러그인_이름;
- 플러그인_이름 → 삭제할 플러그인의 이름
MySQL 플러그인 삭제 예제
1. MySQL 인증 플러그인(authentication_ldap_simple) 제거
LDAP 인증을 위한 플러그인이 더 이상 필요하지 않다면 삭제할 수 있습니다.
UNINSTALL PLUGIN authentication_ldap_simple;
삭제 후 플러그인 목록에서 확인:
SHOW PLUGINS WHERE Name = 'authentication_ldap_simple';
결과 출력:
Empty set (0.00 sec)
플러그인이 목록에서 사라졌다면 정상적으로 삭제된 것입니다.
2. MySQL 감사 로그 플러그인(audit_log) 제거
MySQL audit_log 플러그인은 로그 감사를 위한 기능을 제공합니다. 하지만, 로그를 저장할 필요가 없는 경우 제거할 수 있습니다.
UNINSTALL PLUGIN audit_log;
제거 후 다시 확인:
SHOW PLUGINS WHERE Name = 'audit_log';
결과가 없다면 삭제가 완료된 것입니다.
MySQL UNINSTALL PLUGIN 실행 시 주의할 점
1. 플러그인을 제거해도 파일이 삭제되지 않음
- UNINSTALL PLUGIN 명령어는 MySQL 내부에서 플러그인 등록을 해제하는 역할을 하며, /usr/lib/mysql/plugin/ 디렉터리에 있는 .so 파일은 삭제되지 않음
- 완전히 제거하려면 수동으로 파일을 삭제해야 함
sudo rm /usr/lib/mysql/plugin/authentication_ldap_simple.so
2. MySQL을 재시작해야 정상적으로 반영될 수 있음
- 일부 플러그인은 제거 후에도 메모리에 남아 있을 수 있으므로 MySQL을 재시작하여 변경 사항을 반영해야 함
sudo systemctl restart mysql
3. 플러그인 삭제 시 기능이 비활성화됨
- 예를 들어, authentication_ldap_simple 플러그인을 제거하면 LDAP 인증이 중단되므로 반드시 다른 인증 방식을 활성화한 후 삭제해야 함
4. SUPER 권한이 필요함
- UNINSTALL PLUGIN 명령어를 실행하려면 SUPER 권한이 필요함
- 권한이 없는 경우 다음과 같은 에러가 발생할 수 있음
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
해결 방법: MySQL 관리자 계정으로 로그인 후 실행
MySQL 플러그인 삭제 후 데이터베이스 최적화
플러그인을 삭제한 후 MySQL을 최적화하여 불필요한 데이터 및 캐시를 정리하는 것이 좋습니다.
1. 불필요한 플러그인 관련 설정 제거
sudo nano /etc/mysql/my.cnf
- my.cnf 파일에서 삭제한 플러그인과 관련된 설정이 남아 있다면 제거
2. MySQL 서비스 재시작
sudo systemctl restart mysql
3. MySQL 캐시 정리
RESET QUERY CACHE;
4. 디스크 공간 확인 및 정리
du -sh /var/lib/mysql/
결론
MySQL UNINSTALL PLUGIN 명령어를 사용하면 불필요한 플러그인을 쉽게 제거할 수 있습니다. 플러그인을 삭제하면 MySQL 서버 성능이 최적화되고, 보안이 강화되며, 충돌 가능성이 줄어듭니다.
하지만, 삭제 전에 해당 플러그인이 사용 중인지 확인하고, MySQL을 재시작하여 변경 사항을 반영하는 것이 중요합니다.
'DB' 카테고리의 다른 글
[MySQL] PURGE BINARY LOGS 완벽 가이드 사용법(바이너리 로그 정리) (0) | 2025.02.20 |
---|---|
[MySQL] DROP SERVER 완벽 가이드 사용법(원격 서버 삭제) (0) | 2025.02.20 |
[MySQL] ALTER SERVER 완벽 가이드 사용법(원격 데이터 소스 수정) (0) | 2025.02.20 |
[MySQL] CREATE SERVER 완벽 가이드 사용법(원격 데이터 소스 등록) (0) | 2025.02.19 |
[MySQL] INSTALL PLUGIN 완벽 가이드 사용법(플러그인 설치) (0) | 2025.02.18 |
[MySQL] RESET QUERY CACHE 완벽 가이드 사용법(쿼리 캐시 초기화) (0) | 2025.02.18 |
[MySQL] FLUSH 완벽 가이드 사용법(데이터베이스 캐시 및 상태 초기화) (0) | 2025.02.18 |
[MySQL] DROP TABLESPACE 완벽 가이드 사용법(테이블스페이스 삭제) (0) | 2025.02.17 |