24.2.4.3 플러그인 라이브러리의 컴파일 및 설치
플러그인을 작성한 후 플러그인을 컴파일하고 설치해야합니다. 공유 오브젝트를 컴파일하는 방법은 시스템에 따라 다릅니다. CMake
를 사용하여 라이브러리를 빌드하는 경우, 그것은 시스템의 올바른 컴파일 명령을 생성 할 수 있어야합니다. 라이브러리에 somepluglib
라는 이름을 지정한 경우 공유 오브젝트 파일의 이름은 somepluglib.so
과 같이됩니다. (사용하는 시스템에서는 파일 이름 접미사가 다를 수 있습니다.)
CMake
를 사용하는 경우 구성 파일을 설치하여 플러그인을 컴파일 및 설치되도록해야합니다. MySQL 소스 배포판의 plugin
디렉토리 아래에있는 플러그인의 예를 지침으로 사용하십시오.
다음과 같은 CMakeLists.txt
을 만듭니다.
MYSQL_ADD_PLUGIN(somepluglib somepluglib.c MODULE_ONLY MODULE_OUTPUT_NAME "somepluglib")
CMake
가 Makefile
을 생성 할 때, 컴파일 명령에 -DMYSQL_DYNAMIC_PLUGIN
플래그를 전달 링커에 -lmysqlservices
플래그를 전달합니다. 이것은 플러그인 서비스 인터페이스를 통해 제공되는 서비스의 함수로 연결하는 데 필요합니다. 섹션 24.2.5 "플러그인을위한 MySQL 서비스" 를 참조하십시오.
CMake를 실행하고 make를 실행합니다.
shell>cmake .
shell>make
CMake 구성 옵션을 지정할 필요가있는 경우, 목록은 섹션 2.9.4 "MySQL 소스 구성 옵션" 을 참조하십시오. 예를 들어, 플러그인 설치되는 MySQL의 기본 디렉토리를 지정하기 위해 CMAKE_INSTALL_PREFIX
을 지정할 수 있습니다. 이 옵션을 사용하는 값은 SHOW VARIABLES
에서 확인할 수 있습니다.
mysql> SHOW VARIABLES LIKE 'basedir';
+---------------+------------------+
| Variable_name | Value |
+---------------+------------------+
| base | /usr/local/mysql |
+---------------+------------------+
라이브러리를 설치하는 플러그인 디렉토리 위치는 plugin_dir
시스템 변수에 의해 지정됩니다. 예 :
mysql> SHOW VARIABLES LIKE 'plugin_dir';
+---------------+-----------------------------------+
| Variable_name | Value |
+---------------+-----------------------------------+
| plugin_dir | /usr/local/mysql/lib/mysql/plugin |
+---------------+-----------------------------------+
플러그인 라이브러리를 설치하려면 make를 사용합니다.
shell> make install
make install 의해 플러그인 라이브러리가 적절한 디렉토리에 설치되어 있는지 확인합니다. 설치 후 서버가 수행 할 수있는 권한이 라이브러리에 설정되어 있는지 확인하십시오.