• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 1. MySQL Connector / ODBC
    2. MySQL Connector/Net
    3. MySQL Connector/J
    4. MySQL Connector/C++
    5. MySQL Connector/C
    6. MySQL Connector/Python
    7. libmysqld, the Embedded MySQL Server Library
    8. MySQL C API
    1. MySQL C API 구현
    2. MySQL Server MySQL Connector/C 동시 설치
    3. C API 클라이언트 프로그램 예제
    4. Building and Running C API Client Programs
    5. C API Data 구조
    6. C API Function 개요
    7. C API Function 설명
    1. mysql_affected_rows()
    2. mysql_autocommit()
    3. mysql_change_user()
    4. mysql_character_set_name()
    5. mysql_close()
    6. mysql_commit()
    7. mysql_connect()
    8. mysql_create_db()
    9. mysql_data_seek()
    10. mysql_debug()
    11. mysql_drop_db()
    12. mysql_dump_debug_info()
    13. mysql_eof()
    14. mysql_errno()
    15. mysql_error()
    16. mysql_escape_string()
    17. mysql_fetch_field()
    18. mysql_fetch_field_direct()
    19. mysql_fetch_fields()
    20. mysql_fetch_lengths()
    21. mysql_fetch_row()
    22. mysql_field_count()
    23. mysql_field_seek()
    24. mysql_field_tell()
    25. mysql_free_result()
    26. mysql_get_character_set_info()
    27. mysql_get_client_info()
    28. mysql_get_client_version()
    29. mysql_get_host_info()
    30. mysql_get_proto_info()
    31. mysql_get_server_info()
    32. mysql_get_server_version()
    33. mysql_get_ssl_cipher()
    34. mysql_hex_string()
    35. mysql_info()
    36. mysql_init()
    37. mysql_insert_id()
    38. mysql_kill()
    39. mysql_library_end()
    40. mysql_library_init()
    41. mysql_list_dbs()
    42. mysql_list_fields()
    43. mysql_list_processes()
    44. mysql_list_tables()
    45. mysql_more_results()
    46. mysql_next_result()
    47. mysql_num_fields()
    48. mysql_num_rows()
    49. mysql_options()
    50. mysql_options4()
    51. mysql_ping()
    52. mysql_query()
    53. mysql_real_connect()
    54. mysql_real_escape_string()
    55. mysql_real_query()
    56. mysql_refresh()
    57. mysql_reload()
    58. mysql_rollback()
    59. mysql_row_seek()
    60. mysql_row_tell()
    61. mysql_select_db()
    62. mysql_set_character_set()
    63. mysql_set_local_infile_default()
    64. mysql_set_local_infile_handler()
    65. mysql_set_server_option()
    66. mysql_shutdown()
    67. mysql_sqlstate()
    68. mysql_ssl_set()
    69. mysql_stat()
    70. mysql_store_result()
    71. mysql_thread_id()
    72. mysql_use_result()
    73. mysql_warning_count()
    8. C API Prepared Statements
    9. C API Prepared Statement Data 구조
    10. C API Prepared Statement 함수 개요
    11. C API Prepared Statement 함수 설명
    12. C API Threaded 함수 설명
    13. C API 임베디드 서버 함수 설명
    14. C API Client Plugin 함수
    15. C API를 사용하는 경우 일반적인 질문과 문제
    16. 자동 재 연결 동작 제어
    17. 여러 명령문 실행 C API 지원
    18. C API Prepared Statement 문제
    19. C API Prepared Statement date 및 time 값 처리
    20. C API의 Prepared CALL Statements 지원
    9. MySQL PHP API
    10. MySQL Perl API
    11. MySQL Python API
    12. MySQL Ruby APIs
    13. MySQL Tcl API
    14. MySQL Eiffel Wrapper
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

23.8.7.40 mysql_library_init()

int mysql_library_init(int argc, char **argv, char **groups)

설명

응용 프로그램이 정상적인 클라이언트 프로그램인지, 임베디드 서버를 사용하는지에 관계없이이 함수는 다른 모든 MySQL 함수를 호출하기 전에 MySQL 라이브러리를 초기화하기 위해 호출합니다. 응용 프로그램에서 내장 서버를 사용하는 경우이 호출을 통해 서버를 시작하고 해당 서버가 사용하는 모든 서브 시스템 ( mysys , InnoDB 등)을 초기화합니다.

응용 프로그램이 MySQL 라이브러리의 사용을 마쳤 으면 mysql_library_end() 를 호출하여 정리합니다. 섹션 23.8.7.39 "mysql_library_end ()" 를 참조하십시오.

응용 프로그램이 보통 클라이언트로 작동하거나 내장 서버를 사용할지 여부의 선택은 링크시 최종 실행 파일을 생성하기 위해 libmysqlclient 라이브러리를 사용하거나 libmysqld 라이브러리를 사용하는지에 따라 다릅니다. 자세한 내용은 섹션 23.8.6 "C API 함수 개요" 를 참조하십시오.

비 멀티 스레드 환경에서 mysql_init() 가 필요에 따라 자동으로 mysql_library_init() 를 호출이 호출을 생략 할 수 있습니다. 그러나 mysql_library_init() 는 다중 스레드 환경에서 스레드로부터 안전하지 않으므로 mysql_library_init() 를 호출 mysql_init() 도 스레드로부터 안전하지 않습니다. 스레드를 생성하기 전에 mysql_library_init() 를 호출하는지, 그렇지 않으면 mysql_library_init() 를 호출하거나 mysql_init() 를 통해 간접적으로 호출하는지에 관계없이 상호 배타적 잠금을 사용하여 호출을 보호합니다 . 이것은 다른 모든 클라이언트 라이브러리의 호출 전에 실행하십시오.

argc 와 argv 인수는 main() 에 인수 닮아있어 임베디드 서버에 옵션을 전달할 수 있습니다. 편의상 서버에 명령 행 인수가없는 경우 argc 를 0 (제로)에 있습니다. 이것은 일반 (비 내장) 클라이언트로만 사용하는 것을 목적으로 한 응용 프로그램의 일반적인 경우이며, 호출은 일반적으로 mysql_library_init(0, NULL, NULL) 라고 쓰여져 있습니다.

#include <mysql.h>
#include <stdlib.h>

int main(void) {
  if (mysql_library_init(0, NULL, NULL)) {
    fprintf(stderr, "could not initialize MySQL library\n");
    exit(1);
  }

  /* Use any MySQL API functions here */

  mysql_library_end();

  return EXIT_SUCCESS;
}

인수가 전달되는 ( argc 가 0 보다 큰)와 argv 의 첫번째 요소는 무시됩니다 (여기에는 일반적으로 프로그램 이름이 포함되어 있습니다). mysql_library_init() 는 인수의 복사본을 생성하기 위해 호출 후 argv 또는 groups 를 파기해도 안전합니다.

임베디드 응용 프로그램의 경우 기본 서버를 시작하지 않고 외부 서버에 연결하는 경우 argc 에 음수 값을 지정해야합니다.

groups 인수는 옵션 구울 옵션 파일의 그룹을 나타내는 문자열의 배열입니다. 섹션 4.2.6 "옵션 파일 사용" 을 참조하십시오. 배열의 마지막 항목을 NULL 로합니다. 편의상 groups 인수 자체가 NULL 이면 기본적으로 [server] 그룹과 [embedded] 그룹이 사용됩니다.

#include <mysql.h>
#include <stdlib.h>

static char *server_args[] = {
  "this_program",       /* this string is not used */
  "--datadir=.",
  "--key_buffer_size=32M"
};
static char *server_groups[] = {
  "embedded",
  "server",
  "this_program_SERVER",
  (char *)NULL
};

int main(void) {
  if (mysql_library_init(sizeof(server_args) / sizeof(char *),
                        server_args, server_groups)) {
    fprintf(stderr, "could not initialize MySQL library\n");
    exit(1);
  }

  /* Use any MySQL API functions here */

  mysql_library_end();

  return EXIT_SUCCESS;
}
반환 값

성공의 경우는 제로. 오류가 발생한 경우 0이 아닌.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved