23.8.14.3 mysql_load_plugin()
struct st_mysql_client_plugin *mysql_load_plugin(MYSQL *mysql, const char *name, int type, int argc, ...)
설명
이름과 형태로 지정된 MySQL 클라이언트 플러그인을로드합니다. 형식이 잘못되었거나 플러그인을로드 할 수없는 경우 오류가 발생합니다.
동일한 유형의 여러 플러그인을로드 할 수 없습니다. 이미로드되어있는 형태의 플러그인을로드하려고하면 오류가 발생합니다.
매개 변수를 다음과 같이 지정합니다.
mysql
:MYSQL
구조에 대한 포인터. 플러그인 API는 MySQL 서버에 대한 연결을 필요로하지 않지만,이 구조는 제대로 초기화해야합니다. 이 구조는 연결 관련 정보를 얻기 위해 사용됩니다.name
:로드 플러그인의 이름.type
:로드 플러그인의 형태 또는 형식 검사를 사용하는 경우는 -1. 형태가 -1이 아닌 경우, 형태에 일치하는 플러그인 만로드에 고려됩니다.argc
: 후속 인수의 수 (아무것도 없으면 0). 후속 인수의 해석은 플러그인 형태에 따라 다릅니다.
플러그인을로드하는 또 하나의 방법은 LIBMYSQL_PLUGINS
환경 변수에 세미콜론으로 구분 된 플러그인 이름의 목록을 설정하는 것입니다. 예 :
shell> export LIBMYSQL_PLUGINS="myplugin1;myplugin2"
클라이언트 프로그램이 mysql_library_init()
를 호출 할 때 LIBMYSQL_PLUGINS
의해 지정된 플러그인이로드됩니다. 이러한 플러그인로드에서 문제가 발생한 경우 오류가보고되지 않습니다.
MySQL 5.6.10 이후 LIBMYSQL_PLUGIN_DIR
환경 변수는 클라이언트 플러그인을 찾는 디렉토리의 경로 이름을 설정할 수 있습니다. 이 변수는 두 가지 방법으로 사용됩니다.
클라이언트 플러그인 탑재 중
--plugin-dir
옵션의 값은 사용할 수 없기 때문에 플러그인이 포함 된 기본 디렉토리에 존재하지 않는 경우 클라이언트 플러그인로드 실패합니다. 플러그인이 다른 위치에 존재하는 경우LIBMYSQL_PLUGIN_DIR
환경 변수를 올바른 디렉토리로 설정 플러그인의 사전로드가 성공 할 수 있도록합니다.명시적인 클라이언트 플러그인로드에서
mysql_load_plugin()
및mysql_load_plugin_v()
C API 함수는LIBMYSQL_PLUGIN_DIR
값이 존재하고--plugin-dir
옵션이 지정되지 않은 경우에는 그 값을 사용합니다.--plugin-dir
이 지정되어있는 경우mysql_load_plugin()
와mysql_load_plugin_v()
는LIBMYSQL_PLUGIN_DIR
을 무시합니다.
반환 값
플러그인이 성공적으로로드 된 경우 플러그인의 포인터. 오류가 발생한 경우 NULL
.
오류
오류를 확인하려면 mysql_error()
또는 mysql_errno()
함수를 호출합니다. 섹션 23.8.7.15 "mysql_error ()" 및 섹션 23.8.7.14 "mysql_errno ()" 를 참조하십시오.
Example
MYSQL mysql; if(!mysql_load_plugin(&mysql, "myplugin", MYSQL_CLIENT_AUTHENTICATION_PLUGIN, 0)) { fprintf(stderr, "Error: %s\n", mysql_error(&mysql)); exit(-1); }
관련 항목
섹션 23.8.14.3 "mysql_load_plugin ()" , 섹션 23.8.7.15 "mysql_error ()" , 섹션 23.8.7.14 "mysql_errno ()" 를 참조하십시오.