• 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 프로그램
  • 1. MySQL 프로그램 개요
    2. MySQL 프로그램 사용
    3. MySQL 서버와 서버 시작 프로그램
    1. mysqld - MySQL 서버
    2. mysqld_safe - MySQL 서버 시작 스크립트
    3. mysql.server - MySQL 서버 시작 스크립트
    4. mysqld_multi - 여러 MySQL 서버 관리
    4. 설치 관련 프로그램
    5. 클라이언트 프로그램
    6. MySQL 관리 프로그램 및 유틸리티 프로그램
    7. MySQL 프로그램 개발 유틸리티
    8. 기타 프로그램
  • 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
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

4.3.2 mysqld_safe - MySQL 서버 시작 스크립트

mysqld_safe는 Unix에서 mysqld 서버를 시작하기 위해 권장되는 방법입니다. mysqld_safe는 오류 발생시 다시 시작하거나 런타임 정보의 오류 로그 파일에 로깅 등 몇 가지 안전 기능을 추가합니다. 에러 로그 내용은이 섹션에서 나중에 설명합니다.

mysqld_safe는 mysqld라는 실행 파일을 시작하려고합니다. 기본 동작을 재정의하고 시작하는 서버의 이름을 명시 적으로 지정하려면 mysqld_safe에 --mysqld 옵션 또는 --mysqld-version 옵션을 지정합니다. --ledir 옵션을 사용하여 mysqld_safe가 서버를 검색 할 디렉토리를 지정할 수도 있습니다.

mysqld_safe의 옵션의 대부분은 mysqld의 옵션과 동일합니다. 섹션 5.1.3 "서버 명령어 옵션" 을 참조하십시오.

mysqld_safe가 이해할 수없는 옵션은 명령 행에 지정된 경우 mysqld에 전달되지만 옵션 파일의 [mysqld_safe] 그룹에 지정된 경우 무시됩니다. 섹션 4.2.6 "옵션 파일 사용" 을 참조하십시오.

mysqld_safe는 옵션 파일의 [mysqld] [ [server] , [mysqld_safe] 의 각 섹션에서 모든 옵션을 읽습니다. 예를 들어, [mysqld] 섹션을 다음과 같이 지정하면 mysqld_safe는 --log-error 옵션을 감지하고 사용합니다.

 [mysqld]
 log-error = error.log

하위 호환성을 위해서, mysqld_safe는 [safe_mysqld] 섹션도 읽지 만 [safe_mysqld] 섹션을 [mysqld_safe] 섹션에 이름 변경하는 것을 권장합니다.

mysqld_safe는 다음 옵션을 지원합니다. 또한 옵션 파일을 읽고 섹션 4.2.7 "옵션 파일의 처리에 영향을주는 명령 행 옵션" 에 설명되어 그들을 처리하기위한 옵션도 지원합니다.

표 4.1 mysqld_safe 옵션

형식 설명
--basedir MySQL 설치 디렉토리 경로
--core-file-size mysqld가 생성 할 수 있어야 코어 파일의 크기
--datadir 데이터 디렉토리 경로
--defaults-extra-file 일반 옵션 파일 이외에 옵션 파일을 읽을
--defaults-file 지명 된 옵션 파일 만 읽을
--help 도움말 메시지를 표시하고 종료
--ledir 서버가 놓여져있는 디렉토리 경로
--log-error 지정된 파일에 오류 로그를 기록
--malloc-lib mysqld에서 사용하는 대체 malloc 라이브러리
--mysqld 시작하는 서버 프로그램 이름 (ledir 디렉토리)
--mysqld-version 서버 프로그램 이름 접미사
--nice 서버의 예약 우선 순위를 설정하기 위해 nice 프로그램을 사용
--no-defaults 옵션 파일을 읽지
--open-files-limit mysqld가 열 수있는 파일 수
--pid-file 프로세스 ID 파일의 경로 이름
--plugin-dir 플러그인이 설치되어있는 디렉토리
--port TCP / IP 연결을 수신하는 포트 번호
--skip-kill-mysqld 미아 mysqld 프로세스 kill을 시도하지
--skip-syslog syslog에 오류 메시지를 기록하고 오류 로그 파일을 사용
--socket Unix 소켓 접속을 대기하는 소켓 파일
--syslog syslog에 오류 메시지를 기록
--syslog-tag syslog에 기록 된 메시지의 타구사휘쿠스
--timezone TZ 시간대 환경 변수를 지정된 값으로 설정
--user mysqld를 이름이 user_name 또는 숫자 사용자 ID가 user_id 인 사용자로 실행

  • --help

    도움말 메시지를 표시하고 종료합니다.

  • --basedir= path

    MySQL 설치 디렉토리 경로.

  • --core-file-size= size

    mysqld에서 만들 수 있어야 코어 파일의 크기. 이 옵션 값은 ulimit -c에 전달됩니다.

  • --datadir= path

    데이터 디렉토리 경로.

  • --defaults-extra-file= path

    일반 옵션 파일 이외에 읽는 옵션 파일의 이름. 이를 사용하려면 명령 행의 첫 번째 옵션이어야합니다. 파일이 존재하지 않거나 다른 이유로 액세스 할 수없는 경우 서버 오류로 종료합니다.

  • --defaults-file= file_name

    일반적인 옵션 파일 대신 읽은 옵션 파일의 이름. 이를 사용하려면 명령 행의 첫 번째 옵션이어야합니다.

  • --ledir= path

    mysqld_safe가 서버를 찾을 수없는 경우이 옵션을 사용하여 서버가 놓여져있는 디렉토리의 경로 이름을 나타냅니다.

  • --log-error= file_name

    지정된 파일에 오류 로그를 기록합니다. 섹션 5.2.2 "오류 로그" 를 참조하십시오.

  • --malloc-lib=[ lib_name ]

    시스템의 malloc() 라이브러리 대신에 메모리 할당에 사용되는 라이브러리의 이름. 경로 이름을 지정하여 임의의 라이브러리를 사용할 수 있지만, MySQL 5.6에서는 Linux 용 바이너리 MySQL 배포판에 포함 된 tcmalloc 라이브러리를 사용할 수 있도록하기위한 바로 가기 형식이 있습니다. 특정 구성에서는 바로 가기 형식이 작동하지 않을 수 있습니다. 이 경우 대신 경로 이름을 지정하도록하십시오.

    --malloc-lib 옵션은 mysqld가 시작할 때 동적 링크에 영향을주지 로더가 메모리 할당 라이브러리를 검색 할 수 있도록 LD_PRELOAD 환경 값을 변경합니다.

    • 이 옵션이 지정되지 않거나 값없이 지정된 경우 ( --malloc-lib= ) LD_PRELOAD 는 변경되지 않고 tcmalloc 을 사용하는 시도는하지 않습니다.

    • 옵션이 --malloc-lib=tcmalloc 과 지정된 경우 mysqld_safe는 tcmalloc 라이브러리를 /usr/lib 에서 검색 한 다음 MySQL pkglibdir 장소 (예를 들어, /usr/local/mysql/lib 또는 적절한 것 )에서 검색합니다. tmalloc 가 발견 된 경우 해당 경로가 LD_PRELOAD 값 앞에 추가되어 mysqld에 전달됩니다. tcmalloc 을 찾을 수없는 경우, mysqld_safe는 에러로 중지됩니다.

    • 옵션이 --malloc-lib= /path/to/some/library 과 지정된 경우 전체 경로가 LD_PRELOAD 값 앞에 추가됩니다. 그 경로가 존재하지 않거나 읽을 수없는 파일을 가리키는 경우, mysqld_safe는 에러로 중지됩니다.

    • mysqld_safe가 경로 이름을 LD_PRELOAD 에 추가하는 경우 해당 변수가 이미 가지고있는 기존의 값의 선두에 경로를 추가합니다.

    Linux 사용자는 다음 행을 my.cnf 파일에 추가함으로써 바이너리 패키지에 포함 된 libtcmalloc_minimal.so 를 사용할 수 있습니다.

     [mysqld_safe]
     malloc-lib = tcmalloc
    

    모든 플랫폼에서 tcmalloc 패키지를 /usr/lib 에 설치 한 사용자도 이러한 행은 충분합니다. 특정 tcmalloc 라이브러리를 사용하려면 전체 경로 이름을 지정합니다. 예 :

     [mysqld_safe]
     malloc-lib = / opt / lib / libtcmalloc_minimal.so
    
  • --mysqld= prog_name

    ledir 디렉토리에있는 실행하는 서버 프로그램의 이름입니다. MySQL의 바이너리 배포판을 사용하지만, 바이너리 배포판이 아닌 데이터 디렉토리가있는 경우에는이 옵션이 필요합니다. mysqld_safe가 서버를 찾을 수없는 경우, --ledir 옵션을 사용하여 서버의 디렉토리 경로 이름을 나타냅니다.

  • --mysqld-version= suffix

    이 옵션은 --mysqld 옵션과 비슷하지만 서버 프로그램 이름의 접미사 만 지정합니다. 베이스 이름은 mysqld로 간주됩니다. 예를 들어, --mysqld-version=debug 를 사용하면 mysqld_safe는 ledir 디렉토리 mysqld-debug 프로그램을 시작합니다. --mysqld-version 인수가 비어있는 경우, mysqld_safe는 ledir 디렉토리 mysqld를 사용합니다.

  • --nice= priority

    서버의 예약 우선 순위를 임의의 값으로 설정하려면 nice 프로그램을 사용합니다.

  • --no-defaults

    옵션 파일을 읽지 않습니다. 이를 사용하려면 명령 행의 첫 번째 옵션이어야합니다.

  • --open-files-limit= count

    mysqld가 열 수있는 파일 수. 옵션 값은 ulimit -n에 전달됩니다.

    참고

    이것이 올바르게 기능하기 위해서는, mysqld_safe를 root 로 시작해야합니다.

  • --pid-file= file_name

    프로세스 ID 파일의 경로 이름.

  • --plugin-dir= path

    플러그인 디렉토리의 경로 이름.

  • --port= port_num

    서버가 TCP / IP 연결을 대기 할 때 사용하는 포트 번호. 서버가 root 시스템 사용자로 시작되는 경우를 제외하고 포트 번호는 1024 이상으로해야합니다.

  • --skip-kill-mysqld

    시작할 때 처리되지 않은 mysqld 프로세스의 강제 종료를 시도하지 않습니다. 이 옵션은 Linux에서만 작동합니다.

  • --socket= path

    서버가 로컬 연결을 기다릴 때 사용하는 Unix 소켓 파일.

  • --syslog , --skip-syslog

    --syslog 는 logger 프로그램을 지원하는 시스템에서 오류 메시지가 syslog 로 전송되도록합니다. --skip-syslog 는 syslog 의 사용을 억제하고 메시지는 오류 로그 파일에 기록됩니다.

    syslog 가 사용되는 경우 daemon.err syslog 기능 / 중요도가 모든 로그 메시지에 사용됩니다.

  • --syslog-tag= tag

    syslog 에 로깅에서 mysqld_safe 및 mysqld의 메시지는 각각 mysqld_safe 및 mysqld 식별자를 붙여 기록됩니다. 식별자의 접미사를 지정하려면 --syslog-tag= tag 를 사용합니다. 그러면 식별자는 mysqld_safe- tag 및 mysqld- tag 로 변경됩니다.

  • --timezone= timezone

    TZ 시간대 환경 변수를 지정된 옵션 값을 설정합니다. 정당한 시간대 지정 형식은 운영 체제 설명서를 참조하십시오.

  • --user={ user_name | user_id }

    mysqld 서버를 이름 user_name 또는 숫자 사용자 ID user_id 를 가진 사용자로 실행합니다. (이 컨텍스트에서 "사용자"는 시스템 로그인 계정이며, 부여 테이블에 나열되어있는 MySQL 사용자가 없습니다.)

mysqld_safe를 --defaults-file 옵션 또는 --defaults-extra-file 옵션으로 시작하여 옵션 파일을 지정하는 경우 해당 옵션은 명령 행에서 지정되는 중 첫 번째 것이어야합니다. 그렇지 않은 경우, 옵션 파일은 사용되지 않습니다. 예를 들어, 다음 명령은 지정된 옵션 파일을 사용하지 않습니다.

 mysql> mysqld_safe --port= port_num --defaults-file= file_name

대신 다음 명령을 사용합니다.

 mysql> mysqld_safe --defaults-file= file_name --port= port_num

MySQL의 소스 또는 바이너리 배포판은 일반적으로 서버를 약간 다른 위치에 설치되지만 mysqld_safe 스크립트는 어느 쪽에서 설치 한 서버에서도 성공적으로 시작할 수 있도록 작성되어 있습니다. ( 섹션 2.1.5 "설치 레이아웃" 을 참조하십시오.) mysqld_safe는 다음 조건 중 하나가 충족되는 것을 상정하고 있습니다.

  • 서버 및 데이터베이스 작업 디렉토리 (mysqld_safe를 호출 한 디렉토리)에서 상대적으로 검색 할 수. 바이너리 배포판의 경우, mysqld_safe는 작업 디렉토리 아래의 bin 디렉토리와 data 디렉토리를 검색합니다. 소스 배포판의 경우, libexec 디렉토리와 var 디렉토리를 검색합니다. mysqld_safe를 MySQL 설치 디렉토리 (바이너리 배포판의 경우 /usr/local/mysql )에서 시작하는 경우에는이 조건이 충족되어야합니다.

  • 서버 및 데이터베이스 작업 디렉토리에서 상대적으로 감지 할 수없는 경우는 mysqld_safe는 절대 경로 이름으로 검색을 시도합니다. 보통 위치는 /usr/local/libexec 및 /usr/local/var 입니다. 실제 위치는 배포 빌드시에 구성 값에서 결정됩니다. 구성시에 지정된 장소에 MySQL이 설치되어 있으면, 이것은 올바른 것입니다.

mysqld_safe는 서버 및 데이터베이스를 작업 디렉토리에서 상대적으로 찾으려고하기 위해 mysqld_safe를 MySQL 설치 디렉토리에서 시작하는 한, MySQL의 바이너리 배포판은 어떤 위치에 설치할 수 있습니다.

 shell> cd mysql_installation_directory
 shell> bin/mysqld_safe &

mysqld_safe를 MySQL 설치 디렉토리에서 호출해도 실패하는 경우, --ledir 옵션 및 --datadir 옵션을 지정하여 시스템의 서버와 데이터베이스가있는 디렉토리를 지정합니다.

MySQL 5.6.5 이후에서는, mysqld_safe는 sleep 및 date 시스템 유틸리티를 사용하여 현재 부팅까지 여러 번 시작하려고했는지를 판단합니다. 이들이 존재하고 5 회보다 많은 경우는 다시 시작할 때까지 강제로 1 초간 대기시킬 수 있습니다. 이것은 연속적으로 실패하는 경우에 과도하게 CPU를 사용하는 것을 방지하기위한 것입니다. (Bug # 11761530, Bug # 54035)

mysqld_safe를 사용하여 mysqld를 시작하면 mysqld_safe는 자신과 mysqld에서 오류 (및 알림) 메시지가 같은 대상에 보내도록 준비합니다.

이러한 메시지의 출력을 제어하기위한 mysqld_safe 몇 가지 옵션이 있습니다.

  • --log-error= file_name : 오류 메시지를 지정된 오류 파일에 기록합니다.

  • --syslog : logger 프로그램을 지원하는 시스템에서 syslog 에 오류 메시지를 기록합니다.

  • --skip-syslog : 오류 메시지를 syslog 에 기록하지 않습니다. 메시지는 기본 오류 로그 파일 (데이터 디렉토리의 host_name .err ) 또는 --log-error 옵션이 지정된 경우에는 지정된 파일에 기록됩니다.

이 옵션이 지정되지 않은 경우 기본값은 --skip-syslog 입니다.

--log-error 와 --syslog 가 모두 지정된 경우 경고가 발행 --log-error 가 우선됩니다.

mysqld_safe가 메시지를 작성하면 알림이 로깅 대상 ( syslog 또는 오류 로그 파일) 및 stdout 으로 보내집니다. 오류 로깅 대상 및 stderr 로 보내집니다.

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