Loading...
MySQL 9.5 Reference Manual 9.5의 6.3.3 mysql.server — MySQL Server Startup Script의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Unix 및 Unix 계열 시스템용 MySQL 배포본에는 mysql.server이라는 이름의 스크립트가 포함되어 있으며, 이 스크립트는 mysqld_safe를 사용해서 MySQL 서버를 시작합니다. 이 스크립트는 시스템 서비스를 시작하고 중지하는 데 System V 스타일 실행 디렉터리를 사용하는 Linux 및 Solaris와 같은 시스템에서 사용할 수 있습니다. 또한 macOS에서 MySQL을 위한 Startup Item에서도 사용됩니다.
mysql.server는 MySQL 소스 트리에서 사용되는 스크립트 이름입니다. 설치된 이름은 mysqld나 mysql처럼 다를 수 있습니다. 이후의 설명에서, 사용 중인 시스템에 맞게 mysql.server라는 이름을 적절히 조정해서 이해하면 됩니다.
참고
일부 Linux 플랫폼에서는 RPM 또는 Debian 패키지를 통해 MySQL을 설치하면 MySQL 서버의 시작 및 종료를 관리하기 위한 systemd 지원이 포함됩니다. 이러한 플랫폼에서는 mysql.server와 mysqld_safe가 필요 없으므로 설치되지 않습니다. 자세한 내용은 Section 2.5.9, “Managing MySQL Server with systemd”를 참조하십시오.
mysql.server 스크립트를 사용하여
서버를 수동으로 시작하거나 중지하려면,
명령줄에서 start 또는
stop 인자를 주어 호출합니다:
1mysql.server start 2mysql.server stop
mysql.server는 MySQL
설치 디렉터리로 위치를 변경한 다음
mysqld_safe를 실행합니다. 특정
사용자로 서버를 실행하려면, 이 절의 뒷부분에 나온 것처럼
글로벌 /etc/my.cnf 옵션 파일의
[mysqld] 그룹에 적절한 user 옵션을
추가하십시오. (MySQL 바이너리 배포본을 비표준 위치에 설치한 경우에는
mysql.server를 수정해야 할 수도 있습니다.
스크립트가 mysqld_safe를 실행하기 전에 올바른
디렉터리로 이동하도록 수정하십시오. 이렇게 수정한 경우
나중에 MySQL을 업그레이드하면 편집된
mysql.server 버전이 덮어써질 수 있으므로,
나중에 다시 설치할 수 있도록 편집된 버전을 복사해 두십시오.)
mysql.server stop은 시그널을 보내서 서버를 중지합니다. 또한 mysqladmin shutdown을 실행해서 수동으로 서버를 중지할 수도 있습니다.
서버에서 MySQL을 자동으로 시작하고 중지하려면
/etc/rc* 파일의 적절한 위치에
start 및 stop 명령을 추가해야 합니다:
Linux 서버 RPM 패키지
(MySQL-server-VERSION.rpm)
또는 네이티브 Linux 패키지 설치를 사용하는 경우,
mysql.server 스크립트는
/etc/init.d 디렉터리에
mysqld 또는 mysql이라는 이름으로
설치될 수 있습니다.
자세한 내용은 Linux RPM 패키지에 대한
Section 2.5.4, “Installing MySQL on Linux Using RPM Packages from Oracle”를
참조하십시오.
MySQL을 소스 배포본에서 설치하거나
mysql.server를 자동으로 설치하지 않는
바이너리 배포 형식을 사용하는 경우,
스크립트를 수동으로 설치할 수 있습니다. 이 스크립트는
MySQL 설치 디렉터리 아래의
support-files 디렉터리나 MySQL 소스 트리에서
찾을 수 있습니다. 스크립트를
/etc/init.d 디렉터리에
mysql이라는 이름으로 복사하고,
실행 가능하게 만드십시오:
1cp mysql.server /etc/init.d/mysql 2chmod +x /etc/init.d/mysql
스크립트를 설치한 후, 시스템 시작 시에 스크립트를 활성화하는 데 필요한 명령은 운영체제에 따라 달라집니다. Linux에서는 chkconfig를 사용할 수 있습니다:
1chkconfig --add mysql
일부 Linux 시스템에서는 mysql 스크립트를 완전히 활성화하려면 다음 명령도 필요한 것 같습니다:
1chkconfig --level 345 mysql on
FreeBSD에서는 시작 스크립트를 일반적으로
/usr/local/etc/rc.d/에 둬야 합니다.
자동 시작을 활성화하려면
mysql.server 스크립트를
/usr/local/etc/rc.d/mysql.server.sh로 설치하십시오.
rc(8) 매뉴얼 페이지에 따르면 이 디렉터리의 스크립트는
베이스 이름이 *.sh 셸 파일 이름 패턴과
일치하는 경우에만 실행됩니다. 디렉터리 내에 있는 다른
파일이나 디렉터리는 조용히 무시됩니다.
위 설정의 대안으로, 일부 운영체제는 시작 시
추가 서비스를 시작하기 위해 /etc/rc.local이나
/etc/init.d/boot.local도 사용합니다.
이 방법으로 MySQL을 시작 시에 실행하려면,
해당 시작 파일에 다음과 같은 명령을 추가하십시오:
1/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
mysql.server는
[mysql.server] 및
[mysqld] 섹션에서 옵션을 읽습니다.
하위 호환성을 위해
[mysql_server] 섹션도 읽지만, 최신 형식을 사용하려면
이러한 섹션의 이름을
[mysql.server]로 변경해야 합니다.
글로벌 /etc/my.cnf 파일에
mysql.server용 옵션을 추가할 수 있습니다.
일반적인 my.cnf 파일은 다음과 같을 수 있습니다:
1[mysqld] 2datadir=/usr/local/mysql/var 3socket=/var/tmp/mysql.sock 4port=3306 5user=mysql 6 7[mysql.server] 8basedir=/usr/local/mysql
mysql.server 스크립트는
다음 표에 표시된 옵션을 지원합니다. 이 옵션들을 지정하는 경우,
반드시(option들은 반드시) 명령줄이 아니라
옵션 파일에 넣어야 합니다.
mysql.server는
명령줄 인자로는
start와 stop만 지원합니다.
Table 6.8 mysql.server Option-File Options
| Option Name | Description | Type |
|---|---|---|
basedir | MySQL 설치 디렉터리 경로 | Directory name |
datadir | MySQL 데이터 디렉터리 경로 | Directory name |
pid-file | 서버가 프로세스 ID를 기록해야 하는 파일 | File name |
service-startup-timeout | 서버 시작을 대기하는 시간 | Integer |
MySQL 설치 디렉터리의 경로입니다.
MySQL 데이터 디렉터리의 경로입니다.
서버가 프로세스 ID를 기록해야 하는 파일의 경로 이름입니다. 서버는 절대 경로 이름이 주어져 다른 디렉터리를 지정하지 않는 한 데이터 디렉터리에 이 파일을 생성합니다.
이 옵션이 지정되지 않은 경우,
mysql.server는
기본값으로
host_name.pid를 사용합니다.
mysqld_safe에 전달되는 PID 파일 값은
[mysqld_safe] 옵션 파일 그룹에 지정된
어떤 값보다 우선합니다.
mysql.server는
[mysqld_safe] 그룹이 아니라
[mysqld] 옵션 파일 그룹만 읽기 때문에,
동일한 pid-file 설정을
[mysqld_safe]와 [mysqld] 그룹 모두에 넣으면
mysql.server에서 호출할 때와
수동으로 호출할 때 모두
mysqld_safe가 같은 값을 받도록
보장할 수 있습니다.
서버 시작에 대한 확인을 기다릴 시간(초)입니다. 서버가 이 시간 내에 시작하지 않으면 mysql.server는 에러와 함께 종료합니다. 기본값은 900입니다. 값이 0이면 시작을 전혀 기다리지 않는다는 의미입니다. 음수 값은 무한 대기(시간 제한 없음)를 의미합니다.
6.3.2 mysqld_safe — MySQL Server Startup Script
6.3.4 mysqld_multi — Manage Multiple MySQL Servers