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 ()" 를 참조하십시오.