레이블이 windows인 게시물을 표시합니다. 모든 게시물 표시
레이블이 windows인 게시물을 표시합니다. 모든 게시물 표시

2009년 8월 3일 월요일

Windows에 있어서 mysqlmanager

mysqlmanager를 SCM에 추가
c:\mysql\bin>mysqlmanager --install

SCM등록명은 MySqlManager이다. Windows서비스 표시명은 MySQL Manager로 되어있으나 정식서비스명은 어디까지나 MySqlManager이다.

5.1.12-beta, 5.1.22-rc에서 --install할 때에 서비스명을 지정할 수 없다.
또 --defaults-file=옵션도 지정할 수 없다. 서비스명은 그렇다치더라도 --defaults-file=옵션조차도 지정할 수 없는 것은 사용감이 나쁘고 곤란한 점이다.

mysqlmanager를 SCM에서 삭제
c:\mysql\bin>mysqlmanager --remove


mysqlmanager를 SCM를 이용해서 기동/정지
mysqlmanager를 SCM에 등록한 뒤라면 NET명령어를 이용해서 mysqlmanager의 기동과 정지가 가능하다.

기동예
c:\mysql\bin> NET START MySqlManager

정지예
c:\mysql\bin> NET START MySqlManager


Windows의 mysqlmanager가 읽어들이는 파일
Windows용 mysqlmanager가 읽어들이는 my.cnf파일은 다음 파일뿐이다.
이것도 다른 명령어와는 다르기때문에 혼란을 일으키는 원인이 되고 있다.

  • mysqlmanager.exe파일이 존재하는 디렉토리에 있는 my.ini파일
  • --defaults-file=옵션에서 지정된 파일
또 , mysqlmanager용 패스워드파일은 표준에서는 다음과 같다.

  • mysqlmanager.exe파일이 존재하는 디렉토리에 있는 mysqlmanager.passwd파일

2009년 7월 14일 화요일

MySQL 기동과 정지 2

Windows에서 mysqld기동과 정지

1.mysqld 기동
Windows환경에서 mysqld를 직접기동하는데에는 다음과 같이 조작한다.
mysqld 직접기동
c:¥mysql¥bin> mysqld-nt --standalone
또는
c:¥mysql¥bin>mysqld-nt

커맨드 프롬프트내에서 mysqld를 --standalone을 붙이지 않고 기동하면 mysqld가 계속 foreground에서 동작한다.
이 때 커맨드 프롬프트를 죽이면 mysqld가 강제적으로 정지되게 되어 버퍼에 남아있던 데이터가 사라지게 되어 파일이 맞지않는 경우가 발생할 가능성이 생긴다.

--standalone을 붙이게 되면 mysqld는 백그라운드에서 동작하게 된다.

또, SCM(Windows Service Control Manager)에 서비스를 등록하고 있는 경우는 SCM을 이용해서 기동한다.
예를 들어 MySQL서비스를 MySQL 이라는 이름으로 등록한 경우에 다음처럼 조작해서 기동한다.

SCM에서 기동
c:¥mysql¥bin> NET START MySQL

SCM에 mysql를 등록
SCM에 데몬을 등록할 때에는 다음과 같이 조작한다.

서비스추가
c:¥mysql¥bin> mysqld-nt --install [서비스명] [mysqld옵션]

[서비스명]을 생략하면 MySQL이라는 이름으로 SCM에 등록된다.
[mysqld옵션]은 한개만 지정가능하다.
대부분의 경우 --defaults-file=이나 --defaults-extra-file=이 지정된다.
MySQL Windows 인스톨러 버전에서 MySQL을 인스톨하게 되면 서비스에는 --defaults-file=옵션이 추가되어 등록되게 된다.

또, 서비스를 삭제할 때에는 다음과 같이 한다.

서비스의 삭제
c:¥mysql¥bin> mysqld-nt --remove [서비스명]

2.mysqld정지
mysqld를 직접기동한 경우는 다음과 같이 조작해서 정지한다.

mysqld정지
c:¥mysql¥bin>mysqladmin -uroot shutdown

또, SCM을 사용해서 서비스를 등록했을 경우는 다음과 같이 정지한다.

SCM을 사용한 경우의 정지
c:¥mysql¥bin>NET STOP MySQL