오늘 MariaDB를 설치했습니다. 윈도우에서 웹 서비스 개발 환경을 구축할 경우 유닉스와 다르게 윈도우 서비스로 등록이 되어 관리되는 경우가 많습니다. 대표적인 경우로 Tomcat과 Oracle도 서비스로 등록해서 구동하곤 합니다. 그렇지만 이렇게 등록되는 서비스들을 삭제하거나, 혹은 설치 시 서비스 등록을 하지 않을 경우 재설치를 하게 됩니다.
저는 서비스에 계속 등록되는 게 싫어서 가끔 방법을 찾아보기도 하는데 MariaDB의 경우 간단하게 서비스를 등록하고 삭제하는 방법이 있어서 포스팅으로 정리했습니다.
1. Windows 서비스 등록 여부 확인
Windows 서비스 창을 여는 방법은 여러 가지가 있습니다만 그중에 빠르게 접근할 수 있는 방법 가운데 한 가지가 실행에서 직접 서비스 창을 실행하는 방법입니다.
'윈도우키+R'를 눌러 '실행'창을 띄운 다음 'services.msc'를 실행하면 바로 Windows 서비스 창을 볼 수 있습니다.
서비스 목록을 스크롤 다운해 보면 이름에서 MariaDB가 등록된 것을 확인할 수 있습니다. MariaDB 최초 설치 시에 서비스 등록을 한 경우입니다.
그런데 서비스 등록을 하지 않은 경우 MariaDB를 직접 구동하는 명령을 사용해서 실행할 수도 있지만 명령어가 좀 길어서 불편할 수도 있을 경우, 아니면 서비스 목록에서 삭제하고 싶은 경우에는 MariaDB의 명령어를 사용해서 변경할 수 있습니다.
2. 명령 프롬프트(cmd 창) 관리자 모드 실행
먼저 해당 기능을 사용하려면 cmd창을 관리자모드로 열어야 합니다.
윈도 검색 메뉴에서 'cmd'를 입력하고 '명령 프롬프트'를 찾아서 우측에 뜨는 '관리자 권한으로 실행' 메뉴를 클릭하거나, 명령 프롬프트에서 마우스 우측 버튼을 클릭해서 나오는 메뉴에서도 '관리자 권한으로 실행'을 클릭해서 실행하면 됩니다.
설정에 따라 사용자 계정 컨트롤에서 확인할 수 있으니 팝업창이 뜨면 '예'를 눌러 실행합니다.
관리자 모드로 실행한 경우 윈도 제목 창에 '관리자 : 명령 프롬프트'라는 이름으로 실행된 것을 확인할 수 있습니다.
3. MariaDB 서비스 추가 및 삭제 방법
관리자 모드로 cmd창을 실행했으면 MariaDB가 설치되어 있는 폴더에 실행파일이 모여 있는 bin 디렉터리로 이동합니다. 만약 경로가 등록되어 있다면 이동할 필요가 없지만 기본 설치에 경로가 등록되지 않으므로 이동해야 합니다.
3.1 디렉터리 이동
C 드라이브에 설치되어 있다면 바로 'cd' 명령을 이용해 이동할 수 있으며, 다른 드라이브에 설치되어 있다면 해당 드라이브로 이동한 다음 'cd'명령을 사용합니다.
저는 C 드라이브 root 디렉터리에 설치했으므로 아래와 같은 명령을 사용하여 이동하였습니다. 참고로 디렉터리명에 와일드카드(*)를 사용할 수 있으며 충분히 식별 가능한 문자열을 입력하고 사용하면 전체를 입력하지 않고 이동할 수 있습니다. 그리고 공백이 있는 경로는 따옴표(")를 사용하여 묶어주면 됩니다.
3.2 실행파일 확인
MariaDB에서 서비스 등록을 처리할 수 있는 실행 파일은 mysqld.exe 혹은 mariadbd.exe 파일입니다. cmd 창에서 dir 명령으로 실행 파일을 확인해볼 수 있습니다.
> dir *d.exe
결과를 확인해보면 두 실행파일은 이름만 다를 뿐 크기가 동일합니다.
다른 파일들도 쌍으로 있는 것으로 봐서는 MySQL과 호환을 위해 시작하였기 때문에 MySQL 사용자들도 기존에 사용했던 실행 파일명을 그대로 사용할 수 있도록 하기 위해서 파일명만 다른, 같은 크기의 실행파일이 존재하는 것으로 보입니다.
mysqld.exe를 사용해도 됩니다만 mariadbd.exe를 사용했습니다.
3.3 도움말 확인
> mariadbd --verbose --help
cmd 창에서 위의 명령을 입력하면 아래와 같은 도움말을 볼 수 있습니다.정말 많은 내용이 있습니다만 제일 처음 부분으로 스크롤 업하면 서비스 등록 제거 명령어가 나옵니다.
C:\MariaDB 10.6\bin>mariadbd --verbose --help
mariadbd Ver 10.6.9-MariaDB for Win64 on AMD64 (mariadb.org binary distribution)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Starts the MariaDB database server.
Usage: mariadbd [OPTIONS]
NT and Win32 specific options:
--install Install the default service (NT).
--install-manual Install the default service started manually (NT).
--install service_name Install an optional service (NT).
--install-manual service_name Install an optional service started manually (NT).
--remove Remove the default service from the service list (NT).
--remove service_name Remove the service_name from the service list (NT).
--enable-named-pipe Only to be used for the default server (NT).
--standalone Dummy option to start as a standalone server (NT).
3.4 서비스 설치 및 삭제
> mariadbd --install
> mariadbd --remove
기본 등록 명령을 사용하면 'MySQL'로 서비스에 등록이 됩니다.
기본 명령을 사용할 경우 MySQL로 등록이 되는 것을 봐서는 호환성에 좀 더 치중하고 있는 것 같습니다.
mariadb로 등록하고 싶다면 해당 명령어 뒤에 서비스 명을 추가해주면 됩니다.
등록할 때 표시되는 이름은 대소문자를 구분합니다. 그러나 등록된 서비스 삭제 시에는 구분하지 않습니다.
아마도 내부에서 처리할 때는 대소문자를 구분하지 않지만, 표시되는 이름은 대소문자를 구분하는 것으로 보입니다.
> mariadbd --install MariaDB
> mariadbd --remove MariaDB
> mariadbd --remove mariadb
3.5 서비스 시작 및 중지
> net start mariadb
> net stop mariadb
위의 명령어를 사용해서 cmd 창에서도 서비스를 시작하거나 중지할 수 있습니다.
'DevOps > DB, Oracle, MariaDB' 카테고리의 다른 글
[MySQL] DB 생성, 사용자 등록 및 권한 부여 (0) | 2023.08.14 |
---|---|
[MariaDB] MariaDB 알아보기, 다운로드 및 설치하기, 제거하기 (0) | 2022.09.13 |
[Oracle] Oracle XE에서 사용자 생성 오류, ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. invalid common user or role name (0) | 2022.08.02 |
[H2] org.h2.Driver : java.lang.ClassNotFoundException (0) | 2022.07.08 |
[SQL Developer] SQL Developer에서 DBMS_OUTPUT, DBMS 출력 확인 하는 방법 (0) | 2022.05.04 |
댓글