ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (윈도우) MySQL 경로 변경 - (SSD,HDD 경로 변경)
    IT/DB 2019. 5. 29. 08:42

    개요

    어떤 이는 용량이 적은 SSD에 설치된 DB의 data경로를 용량넉넉한 HDD로 옮기고 싶을테고.

    어떤 이는 속도가 느린 HDD에 설치된 DB의 data경로를 속도가빠른 SSD로 옮기고 싶은 사람도 있을것이다.

    이처럼 사용자가 원하는 위치로 DB의 data경로를 이동하고 싶은데,

    구글에 찾아봐도 Linux용 방법밖에 나오질 않아 Windows용 하는 방법을 어렵게 찾아 저장해놓는다.

     


    사전 준비

    1. 작업관리자에 들어가 서비스 탭에서 실행중인 MYSQL을 중지한다.

    2. HDD안에 원하는 경로를 미리 만든다.

    * 주의할 점은 경로에 한글이나 특수문자가 포함되지 않도록 한다.(로컬디스크는 제외)


    설정파일 수정

    1. C:\ProgramData\MySQL\MySQL Server 8.0 의 경로에서 my.ini 원본을 미리 백업한다.

    * ProgramFiles 가 아니라 ProgramData 다. 엉뚱한곳에서 my.ini파일을 찾는일이 없길

    2. my.iniData 폴더를 위에 만들어둔 폴더로 옮긴다.

    3. my.ini 파일을 우클릭 - 편집 후 Ctrl + F로 datadir을 검색하면 아래의 설정이 있다.

    4. 기존 datadir을 주석처리한 후 미리 만들어 둔 datadir 경로 잡아주고 저장

    * 경로의 구분자인 \가 아닌 / 로 구분한다.


    레지스트 설정변경

    1. Windows키 + R 을 눌러 실행창에 regedit 이라고 입력하고 레지스트리 편집기를 연다

     

    2. 레지스트리 편집기에서 경로창에 아래 경로를 입력해서 들어간다.

    컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80

    3. ImagePath 값은 아래와 같이 적혀있다.

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

    빨간색 부분을 이제 아까 옮겨놓은 my.ini 파일경로로 수정할거다.

    * 왠만하면 위 레지스트값도 아까 my.ini 백업해놓은 파일 아래 주석으로 적어놓는.. 그런 백업습관이 좋다.

    ImagePath를 더블클릭하여 위 빨간경로를 수정한 my.ini가 있는 경로로 바꿔주고 확인

     


    서비스 재시작 및 확인

    1. 위 서비스 중지 했던곳에서 이번엔 서비스 시작을 한다.

    * 만약 어딘가 잘못 설정되어있다면, 여기서 시작이 안 된다.

    잘못된 부분 어딘가에 로그가 남을테니 잘 확인하여 다시 설정하자.

    2. DB툴로 접속하여 아래 쿼리를 쳐보면 원하는 위치로 정상적으로 옮겨짐을 확인할 수 있다.

    show variables like 'datadir';

    =================끗====================

    댓글

다치지 말고 운동하자.