2.10.1.2 MySQL을 자동으로 시작 및 중지
일반적으로, mysqld 서버는 다음 중 하나의 방법으로 시작합니다.
직접 mysqld를 호출합니다. 이것은 모든 플랫폼에서 작동합니다.
mysqld_safe를 실행합니다. 이것은 mysqld의 적절한 옵션을 판단하고 그 옵션으로 실행합니다. 이 스크립트는 Unix 및 Unix 유사 시스템에서 사용됩니다. 4.3.2 "mysqld_safe - MySQL 서버 시작 스크립트" 를 참조하십시오.
mysql.server를 호출합니다. 이 스크립트는 주로 System V 스타일의 실행 디렉토리 (즉,
/etc/init.d
및 실행 수준 고유의 디렉토리)를 사용하는 시스템에서 시스템 시작 및 종료시에 사용됩니다. 일반적으로mysql
이라는 이름으로 설치됩니다. mysql.server 스크립트는 mysqld_safe를 실행하여 서버를 시작합니다. 섹션 4.3 "mysql.server - MySQL 서버 시작 스크립트" 를 참조하십시오.OS X에서는 시스템 부팅시 MySQL의 자동 시작을 활성화하는 별도의 MySQL Startup Item 패키지를 설치합니다. Startup Item은 mysql.server를 실행하여 서버를 시작합니다. 자세한 내용은 섹션 2.4.4 "MySQL 스타트 업 아이템 설치" 를 참조하십시오. MySQL Preference Pane에도 System Preferences를 통해 MySQL의 기동과 정지를 제어 할 수 있습니다. 섹션 2.4.5 "MySQL Preference Pane의 설치 및 사용" 을 참조하십시오.
Solaris / OpenSolaris의 SMF (service management framework) 시스템을 사용하여 MySQL의 시작을 시작 및 관리합니다. 자세한 내용은 섹션 2.7.2 "IPS를 사용하여 MySQL을 OpenSolaris에 설치" 를 참조하십시오.
mysqld_safe 스크립트 및 mysql.server 스크립트, Solaris / OpenSolaris SMF 및 OS X Startup Item (또는 MySQL Preference Pane)을 사용하여 서버를 수동으로 또는 시스템 시작시 자동으로 시작할 수 있습니다. mysql.server 및 Startup Item은 서버의 정지에도 사용할 수 있습니다.
mysql.server 스크립트를 사용하여 서버를 수동으로 시작하거나 중지하려면 서버를 start
인수 또는 stop
인수를 사용하여 호출합니다.
shell>mysql.server start
shell>mysql.server stop
mysql.server는 서버를 시작하기 전에 장소를 MySQL 설치 디렉토리로 변경하고 다음 mysqld_safe를 실행합니다. 서버를 특정 사용자로 시작하려면이 절에서 후술하는 바와 같이 적절한 user
옵션을 /etc/my.cnf
옵션 파일의 [mysqld]
그룹에 추가합니다. (바이너리 배포판의 MySQL을 표준과 다른 위치에 설치 한 경우에는 mysql.server의 편집이 필요할 수 있습니다. mysqld_safe를 실행하기 전에 장소를 적절한 디렉토리로 변경하도록 그것을 수정 합니다. 이렇게하면 나중에 MySQL을 업그레이드하면 수정 된 버전의 mysql.server를 덮어 쓸 수 있으므로 편집 한 버전을 다시 설치할 수 있도록 사본을 곁에 두는 것이 좋다.)
mysql.server stop은 서버에 신호를 보내 중지합니다. mysqladmin shutdown을 실행하여 서버를 수동으로 중지 할 수 있습니다.
서버에서 MySQL을 자동으로 시작 및 중지하려면 시작 및 중지 명령을 /etc/rc*
파일의 적절한 위치에 추가해야합니다.
Linux 서버의 RPM 패키지 ( MySQL-server-
) 또는 네이티브 Linux 패키지 설치를 사용하는 경우, mysql.server 스크립트는 VERSION
.rpm/etc/init.d
디렉토리에 mysql
라는 이름으로 설치 될 수 있습니다 . Linux RPM 패키지에 대한 자세한 내용은 섹션 2.5.5 "RPM 패키지를 사용하여 MySQL을 Linux에 설치" 를 참조하십시오.
공급 업체는 시작 스크립트를 mysqld와 같은 별도 설치하는 RPM 패키지를 제공하는 경우도 있습니다.
MySQL을 소스 배포에서 또는 mysql.server를 자동으로 설치하지 않는 바이너리 배포판 포맷을 사용하여 설치하는 경우 수동으로 설치할 수 있습니다. 그 스크립트는 MySQL 설치 디렉토리의 support-files
디렉토리 또는 MySQL 소스 트리에 있습니다.
mysql.server를 수동으로 설치하려면 그것을 /etc/init.d
디렉토리에 mysql 이름을 가지고 복사를 한 다음에 그것을 실행합니다. 그것에는 mysql.server있는 적절한 디렉토리 위치를 변경하고 다음 명령을 실행합니다.
shell>cp mysql.server /etc/init.d/mysql
shell>chmod +x /etc/init.d/mysql
이전 Red Hat 시스템은 /etc/init.d
가 아닌 /etc/rc.d/init.d
디렉토리를 사용하고 있습니다. 위의 명령을 적절하게 조정합니다. 또는 먼저 /etc/init.d
를 /etc/rc.d/init.d
를 가리키는 심볼릭 링크로 만듭니다.
shell>cd /etc
shell>ln -s rc.d/init.d .
스크립트를 설치 한 뒤, 그것을 사용하여 시스템 시작시 실행하는 데 필요한 명령은 사용하는 운영 체제에 따라 다릅니다. Linux는 chkconfig를 사용합니다.
shell> chkconfig --add mysql
일부 Linux 시스템에서 mysql 스크립트를 완벽하게 활성화하려면 다음 명령도 필요할 수 있습니다.
shell> chkconfig --level 345 mysql on
FreeBSD에서 시작 스크립트는 일반적 /usr/local/etc/rc.d/
에 있습니다. rc(8)
매뉴얼 페이지에서는이 디렉토리의 스크립트는 그 기본 이름이 *.sh
쉘 파일 이름 패턴과 일치하는 경우에만 실행할 수 있다고 기재되어 있습니다. 그 디렉토리의 다른 파일이나 디렉토리는 경고없이 무시됩니다. 즉 FreeBSD에서는 자동 시작을 활성화하려면 mysql.server
스크립트를 /usr/local/etc/rc.d/mysql.server.sh
으로 설치해야합니다.
위의 설정 대안으로 일부 운영 체제는 /etc/rc.local
또는 /etc/init.d/boot.local
를 사용하여 시작시 추가 서비스를 시작하는 것도 있습니다. 이 방법으로 MySQL을 시작하려면 다음과 같은 명령을 적절한 시작 파일에 추가합니다.
/ bin / sh -c 'cd / usr / local / mysql; ./bin/mysqld_safe --user = mysql &'
다른 시스템의 시작 스크립트를 설치하는 방법은 운영 체제 설명서를 읽어 보시기 바랍니다.
mysql.server 옵션을 글로벌 /etc/my.cnf
파일에 추가 할 수 있습니다. 일반적인 /etc/my.cnf
파일은 다음과 같습니다.
[mysqld] datadir = / usr / local / mysql / var socket = / var / tmp / mysql.sock port = 3306 user = mysql [mysql.server] basedir = / usr / local / mysql
The mysql.server 스크립트는 basedir
, datadir
및 pid-file
의 각 옵션을 지원합니다. 지정하려면 명령 행이 아닌 옵션 파일에 배치해야합니다. mysql.server는 start
및 stop
만을 명령 행 인수로 지원하고 있습니다.
다음 표는 서버와 스타트 업 스크립트가 옵션 파일에서 읽을 수있는 옵션 그룹을 보여줍니다.
표 2.12 MySQL 시작 스크립트 및 지원되는 서버 옵션 그룹
스크립트 | 옵션 그룹 |
---|---|
mysqld | [mysqld] [ [server] [ [mysqld- |
mysqld_safe | [mysqld] [ [server] , [mysqld_safe] |
mysql.server | [mysqld] [ [mysql.server] [ [server] |
[mysqld-
는 major_version
][mysqld-5.5]
및 [mysqld-5.6]
과 같은 이름의 그룹이 5.5.x, 5.6.x, 같은 버전의 서버에서 읽을 것을 의미합니다. 이 기능은 소정의 릴리즈 시리즈의 서버에서만 읽을 옵션을 지정하는 데 사용할 수 있습니다.
하위 호환성을 위해 mysql.server는 [mysql_server]
그룹도 읽고 mysqld_safe는 [safe_mysqld]
그룹도 읽습니다. 그러나 MySQL 5.6을 사용하는 경우는, 대신에 [mysql.server]
및 [mysqld_safe]
그룹을 사용하도록 옵션 파일을 업데이트하는 것이 좋습니다.
MySQL 구성 파일 및 구조와 내용은 섹션 4.2.6 "옵션 파일 사용" 을 참조하십시오.