mysqld_safe란 무엇인가?
mysqld_safe는 Unix 환경에서 mysqld 서버를 시작하는 가장 안전하고 권장되는 방법으로 여겨지는 셸 스크립트입니다. 단순히 mysqld를 직접 실행하는 것보다 다양한 보호 장치를 제공하기 때문에 운영 환경에서 널리 사용됩니다.
오류 자동 복구: 서버 실행 중 오류가 발생하면 mysqld_safe가 이를 감지하여 서버를 자동으로 재시작합니다.
런타임 로깅: 서버 구동 및 실행 과정에서 발생하는 정보를 오류 로그(error log)에 기록하여 문제 추적을 용이하게 합니다.
서버 실행 파일 지정하기
mysqld_safe는 기본적으로 mysqld라는 이름의 실행 파일을 찾아 시작하려고 시도합니다. 만약 사용자가 실행하려는 서버 바이너리의 이름을 직접 지정하고 싶다면 --mysqld 또는 --mysqld-version 옵션을 사용할 수 있습니다.
또한 --ledir 옵션을 함께 사용하면 mysqld_safe가 서버 실행 파일을 탐색할 디렉터리 경로를 명시적으로 지정할 수 있습니다.
옵션 처리 방식
mysqld_safe의 옵션 처리 규칙은 다음과 같습니다.
mysqld_safe가 인식하지 못하는 옵션은 명령줄에서 지정된 경우에만 mysqld로 전달됩니다.
반면 옵션 파일의
[mysqld_safe]그룹에 지정된 알 수 없는 옵션은 무시됩니다.옵션 파일에서는
[mysqld],[server],[mysqld_safe]세 섹션의 모든 옵션을 읽어 들입니다.이전 버전과의 호환성을 위해
[safe_mysqld]섹션도 읽지만, 최신 표준에 맞게 섹션 이름을[mysqld_safe]로 변경해 사용하는 것이 좋습니다.옵션은 명령줄과 옵션 파일 양쪽 모두에서 지정할 수 있습니다.
mysql.server로 서버 시작·중지하기
mysql.server 스크립트를 사용하면 서버를 손쉽게 수동 시작하거나 중지할 수 있습니다. 명령줄에서 start 또는 stop 인자와 함께 호출하면 됩니다.
shell> mysql.server start
shell> mysql.server stop
tcmalloc 라이브러리 지정 예제
특정 tcmalloc 라이브러리를 사용하려면 라이브러리 파일의 전체 경로를 지정해야 합니다. 아래는 옵션 파일에 설정하는 예시입니다.
[mysqld_safe]
malloc-lib=/opt/lib/libtcmalloc_minimal.so
이처럼 mysqld_safe는 오류 발생 시 자동 재시작과 로깅 같은 안전 기능을 갖추고 있어, Unix 계열 시스템에서 MySQL 서버를 운영할 때 가장 신뢰할 수 있는 시작 방법입니다. 문제가 발생했을 때는 오류 로그를 먼저 확인하면 원인 파악에 큰 도움이 됩니다.