2.3.5.7 Windows서비스로서 MySQL실행하는
Windows에서 MySQL을 실행할 경우 Windows의 기동 및 정지시에 MySQL이 자동적으로 기동 및 정지하도록 Windows서비스로서 설치하는 것이 권장되고 있습니다. MySQL Server를 서비스로 설치하면, NET명령을 사용하여 명령 줄에서, 혹은 그래피컬 Services유틸리티에서 관리할 수도 있습니다.일반적으로 MySQL을 Windows서비스로서 설치할 때는 관리자 권한이 있는 계정을 사용하고 로그인하도록 하세요.
MySQL Notifier GUI을 사용하여 MySQL서비스의 상태를 모니터링할 수도 있습니다.
Services유틸리티(Windows서비스 제어 관리자)는 Windows의 컨트롤 패널(Windows 2000, XP, Vista및 Server 2003에서는 관리 도구 밑)에 있습니다.경합을 피하기 위해서, 서버 설치 또는 명령 행의 삭제 조작 때는 Services유틸리티를 감을 권장합니다.
서비스의 설치
현재 서버를 실행 중인 경우 MySQL을 Windows서비스로서 설치하기 전에 다음 명령을 사용하여 정지시키세요.
C:\>"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin"
-u root shutdown
MySQL의 root
사용자 계정에 패스워드가 설정되어 있는 경우는mysqladmin를 -p
옵션을 사용하고 기동하고 요구되면 비밀 번호를 입력할 필요가 있습니다.
이 명령은 MySQL관리 유틸리티 mysqladmin를 기동하고 서버에 접속하고 서버에 종료를 명령합니다.그 명령은 MySQL root
유저로 접속합니다.이는 MySQL의 허가 시스템의 기본 관리 계정입니다.
MySQL허가 시스템 내의 사용자는 Windows로그인 사용자와는 완전히 독립했습니다.
서버를 이 명령을 사용하여 서비스로서 설치합니다.
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld"-install
서비스 설치 명령은 서버는 기동하지 않습니다.그것에 대해서는 이 섹션에서 서술합니다.
MySQL프로그램의 기동을 간단하게 하기 위해서, MySQL의 bin
디렉토리 경로명을 Windows시스템 PATH
환경 변수에 추가할 수 있습니다.
Windows데스크 톱에서 "내 컴퓨터"아이콘을 오른쪽 클릭하고"속성"을 선택합니다.
다음에 표시된 "시스템의 속성"메뉴에서 "상세 설정"탭을 선택하고"환경 변수"버튼을 클릭합니다.
"시스템 환경 변수"에서 "Path"를 선택하고 다음에 "편집"버튼을 클릭합니다."시스템 변수의 편집"대화 상자가 표시됩니다.
- "변수 값"이라고 표시된 공간에 표시된 텍스트의 마지막에 커서를 가져갑니다.("End"키를 사용하여 커서가 확실히 그 공간의 텍스트의 가장 뒤에 있게 합니다).다음에, MySQL
bin
디렉토리의 완전한 경로 이름을 입력합니다(C:\Program Files\MySQL\MySQL Server 5.6\bin
등).이 필드에 있는 다른 값과 이 패스를 구분하기 때문에 세미 콜론이 필요합니다.열린 대화 상자가 모두 마감까지"OK"를 클릭하고 이 대화 상자와 기타의 대화를 차례로 닫습니다.이 단계에서 시스템의 어떤 디렉토리에서, DOS프롬프트에 패스를 지정하지 않아 MySQL실행 프로그램 이름을 입력하고 모든 MySQL실행 프로그램을 불러낼 수 있습니다.여기에는 서버,mysql클라이언트 및 mysqladmin으로 mysqldump등의 모든 MySQL명령 행 유틸리티가 포함되어 있습니다.같은 머신으로 복수의 MySQL서버를 작동시키는 경우에는 MySQL
bin
디렉토리를 WindowsPATH
추가하지 마세요.
시스템 PATH
를 수동으로 편집할 때는 최대한의 주의가 필요합니다.기존의 PATH
값의 일부라도 틀리게 삭제하거나 변경해면 오동작을 일으키거나 시스템이 사용할 수 없게 되거나 하는 경우가 있습니다.
서비스를 설치할 때 다음의 추가 인수를 사용할 수 있습니다.
--install
옵션의 직후 서비스 이름을 지정할 수 있습니다.기본 서비스 이름은MySQL
입니다.- 서비스 이름을 지정하면, 그 후에 1개의 옵션을 지정할 수 있습니다.규칙은,
--defaults-file=
그래서 옵션 파일 이름을 지정하고 서버가 기동시에 거기서 옵션을 읽어 냅니다.file_name
--defaults-file
이외에 1개의 옵션을 사용할 수는 있지만 추천할 수 없습니다.--defaults-file
를 사용하면, 지명한 옵션 파일에 복수의 스타트 업 옵션을 지정할 수 있으므로, 보다 유연하시네. 서비스 이름 뒤에
--local-service
옵션도 지정할 수 있습니다.이로써 시스템 권한 제한된LocalService
Windows계정을 사용하여 서버를 기동할 수 있습니다.이 계정은 Windows XP또는 그 이후에서만 가능합니다.--defaults-file
및--local-service
모두가 서비스 이름 뒤에 지정될 경우 어떤 순서라도 괜찮습니다.
MySQL Server를 Windows서비스로서 설치한 경우 서버가 사용하는 서비스 이름 및 옵션 파일은 다음의 규칙으로 결정됩니다.
서비스 설치의 명령으로
--install
옵션 뒤에 서비스 이름을 지명하지 않을지 기본 서비스 이름(MySQL
)를 지정한 경우 서버는MySQL
서비스 이름을 사용하고 표준 옵션 파일[mysqld]
그룹의 옵션을 읽어 냅니다.서비스 설치의 명령으로
MySQL
이외의 서비스 이름을--install
옵션 뒤에 지정한 경우 서버는 서비스 이름을 사용합니다.표준 옵션 파일[mysqld]
그룹과 서비스와 이름이 같은 그룹에서 옵션을 읽어 냅니다.이로써[mysqld]
그룹을 모든 MySQL서비스에서 사용할 옵션용으로 서비스 이름이 붙은 옵션 그룹을 그 서비스 이름으로 설치된 서버용으로 사용할 수 있습니다.서비스 설치의 명령으로 서비스 이름 뒤에
--defaults-file
옵션을 지정한 경우 서버는 전 항목에서 설명한 것과 같은 방법으로 옵션을 읽는데 이름이 파일에서만 옵션을 읽고 표준 옵션 파일은 무시합니다.
더 복잡한 예로 다음 명령이 있습니다.
C:\>"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld"
--install MySQL-defaults-file=C:\my-opts.cnf
여기에서는--install
옵션 뒤에 기본 서비스 이름(MySQL
)가 지정되어 있습니다.--defaults-file
옵션이 지정되지 않으면 이 명령에 의한 서버는 표준 옵션 파일에서 [mysqld]
그룹을 읽어 냅니다.하지만, --defaults-file
옵션이 지정되어 있으므로, 서버는 [mysqld]
옵션 그룹의 옵션을 지명된 파일만에서 읽습니다.
Windows에서는 서버가 --defaults-file
및 --install
옵션이 실행될 경우--install
하지만 처음이 아니면 안 됩니다.그렇지 않으면mysqld.exe
는 MySQL Server를 기동하려고 합니다.
MySQL서비스를 실행하기 전에 Windows의 Services유틸리티에서 Start매개 변수로 하여 옵션을 지정할 수도 있습니다.
서비스의 개시
MySQL서버를 서비스로 설치하면, Windows가 시작될 때마다 서비스가 자동적으로 실행됩니다.서비스는 Services유틸리티에서, 혹은 NET START MySQL명령을 사용하여 곧바로 실행할 수도 있습니다.NET명령은 대문자와 소문자를 구별하지 않습니다.
서비스로 실행할 경우mysqld는 콘솔 창에 접속할 수 없으므로 메시지가 표시되지 않습니다.mysqld이 기동하지 않는 경우, 서버가 오류 로그에 그 문제의 원인을 알리는 메시지를 적지 않는지 확인합니다.오류 로그는 MySQL데이터 디렉토리(C:\Program Files\MySQL\MySQL Server 5.6\data
등)에 있습니다.. err
의 사피크스이 달린 파일입니다.
MySQL Server를 서비스로 설치한 경우 서비스를 실행하고 있을 때 Windows가 종료한다고 Windows가 자동적으로 서비스를 정지합니다.서버는Services
유틸리티,NET STOP MySQL명령, 혹은 mysqladmin shutdown명령을 사용하여 수동으로 정지할 수도 있습니다.
서비스가 부트 프로세스에서 자동으로 실행되지 않도록 서버를 수동 서비스로서 설치할 수도 있습니다.여기에는 --install
옵션은 아니다. --install-manual
옵션을 사용합니다.
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld"-install-manual
서비스 삭제
서비스로서 설치한 서버를 삭제하려면 기동 중의 경우에는 우선 NET STOP MySQL를 실행하고 정지합니다.다음에 --remove
옵션을 사용하여 삭제합니다.
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld"-remove
mysqld를 서비스로 실행하지 않을 경우 명령 행에서 구동됩니다.그 순서는섹션 2.3.5.5"Windows명령 행의 MySQL의 기동"을 참조하세요.
설치 중 문제가 생겼을 경우는섹션 2.3.6"Microsoft Windows MySQL Server설치의 트러블 슈팅"을 참조하세요.