DB

[MySQL] UNINSTALL PLUGIN 완벽 가이드 사용법(플러그인 삭제)

인생아 2025. 2. 18. 13:58
반응형

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

MySQL UNINSTALL PLUGIN이란?

UNINSTALL PLUGIN 명령어는 MySQL에서 특정 플러그인을 제거할 때 사용하는 명령어입니다. 플러그인을 삭제하면 MySQL 서버가 해당 기능을 더 이상 사용할 수 없게 됩니다.

플러그인을 제거해야 하는 대표적인 이유는 다음과 같습니다.

  1. 사용하지 않는 플러그인 정리
    • MySQL에 설치된 플러그인 중 사용하지 않는 것은 삭제하여 서버 성능을 최적화할 수 있음
  2. 보안 강화
    • 일부 플러그인은 보안 취약점을 가질 수 있기 때문에 사용하지 않는 플러그인은 삭제하는 것이 좋음
  3. 플러그인 충돌 방지
    • 특정 플러그인이 다른 플러그인과 충돌할 경우 삭제하여 MySQL 서버의 안정성을 유지
  4. 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을 재시작하여 변경 사항을 반영하는 것이 중요합니다.

반응형