Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

mysql.server 완벽 가이드 – MySQL 서버 시작 스크립트의 동작 원리와 주요 옵션

mysql.server란 무엇인가?

mysql.server는 MySQL 서버를 손쉽게 시작하고 중지할 수 있도록 도와주는 시작 스크립트입니다. 이 스크립트는 먼저 작업 위치를 MySQL 설치 디렉터리로 변경한 뒤, 실제 서버 구동을 담당하는 mysqld_safe를 호출하는 방식으로 동작합니다.

mysql.server의 주요 동작 특징

  • MySQL 설치 디렉터리로 위치를 변경한 후 mysqld_safe를 호출하여 서버를 구동합니다.

  • 특정 사용자 권한으로 서버를 실행하고 싶다면, 전역 옵션 파일인 /etc/my.cnf[mysqld] 그룹에 적절한 user 옵션을 추가하면 됩니다.

  • MySQL을 바이너리 배포판 형태로 비표준(nonstandard) 위치에 설치한 경우에는 mysql.server 파일 자체를 수정해야 할 수 있습니다.

  • 이 경우 mysqld_safe를 실행하기 전에 올바른 설치 디렉터리로 이동하도록 스크립트 내부 경로를 직접 변경해 주어야 합니다.

  • 스크립트를 직접 수정했다면, 추후 MySQL을 업그레이드할 때 수정된 내용이 덮어써질 수 있습니다. 따라서 편집한 버전의 사본을 미리 백업해 두었다가 업그레이드 후 다시 복원하는 것이 좋습니다.

  • mysql.server stop 명령은 서버에 시그널(signal)을 전송하여 서버를 종료합니다. 필요하다면 mysqladmin shutdown 명령을 실행해 서버를 수동으로 중지할 수도 있습니다.

mysql.server에서 사용할 수 있는 주요 명령줄 옵션

mysql.server는 다양한 명령줄 옵션을 지원하며, 이를 통해 서버 구동 환경을 세밀하게 제어할 수 있습니다.

basedir=dir_name

MySQL이 설치된 디렉터리의 경로를 지정합니다.

datadir=dir_name

MySQL 데이터 디렉터리의 경로를 지정합니다.

pid-file=file_name

서버가 자신의 프로세스 ID(PID)를 기록할 파일의 경로명을 지정합니다. 별도로 지정하지 않으면 서버는 데이터 디렉터리 안에 PID 파일을 생성하며, 다른 위치에 저장하고 싶다면 절대 경로(absoulte path)를 명시하면 됩니다.

service-startup-timeout=seconds

서버 시작이 정상적으로 완료되었는지 확인하기 위해 대기할 시간을 초 단위로 지정합니다. 설정한 시간 안에 서버가 시작되지 않으면 mysql.server는 오류와 함께 종료됩니다.

  • 기본값: 900초

  • 0: 서버 시작을 전혀 기다리지 않습니다.

  • 음수 값: 타임아웃 없이 무한히 대기합니다.

마무리

mysql.server는 MySQL 서버의 시작과 종료 과정을 자동화해 주는 편리한 스크립트입니다. 설치 환경에 맞게 옵션 파일과 스크립트를 적절히 설정해 두면, 서버 관리가 한결 수월해집니다. 특히 업그레이드 시 스크립트 수정 내용이 사라지지 않도록 백업 습관을 들이는 것이 중요합니다.