MySQL DB 서버에서 데이터 디렉토리 변경


10

Windows Server 2012 R2에 mysql 서버 5.6.24를 설치했습니다.

덤프 파일을 가져오고 데이터 파일이 C:\ProgramData\MySQL\MySQL Server 5.6\data

같은 디렉토리를 변경하고 싶습니다 D:\ProgramData\Data.

제발 도와주세요?

답변:


10
  1. 관리자로 Windows CLI 열기 및 MySQL 종료

    net stop mysql
  2. 데이터를 복사 D:\ProgramData\Data

    xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
  3. 작성 또는 편집 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

    에 이것을 추가하십시오 my.ini

    [mysqld]
    datadir = D:/ProgramData/Data
    
  4. MySQL 시작

    net start mysql

    을 실행할 수 없으면 net start mysqlWindows 제어판을 사용해보십시오.

  5. MySQL에 로그인하여 모든 것이 올바른지 확인하십시오

MySQL에 로그인 할 때 이것을 실행하십시오

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';

새 데이터 디렉토리에 기본 데이터 디렉토리가 사용중인 네트워크 서비스관리자 사용자에게 동일한 전체 권한을 부여해야합니다 . 그렇지 않으면 "시작 및 중지"오류가 발생합니다. 새 디렉토리가 제대로 작동 할 때까지이 디렉토리를 삭제하지 마십시오.

이것이 작동하지 않으면 롤백 계획은 다음과 같습니다.

net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql

0

설치 후 데이터베이스 디렉토리를 변경하는 방법에 대한 Windows 10의 MySQL 서버 8.0에 대한 현재 답변 추가 (인터넷에서 검색하여 해결책을 찾지 못하고 거의 미쳤으므로 누군가에게 도움이되기를 바랍니다).

첫 번째 단계는 일반적인 MySQL Server 5.6 지침과 동일합니다. 유일한 차이점은 기본적으로 3 단계입니다.

  1. 서비스로 이동하여 (예 : WIN + R을 누르고을 입력 한 후 Enter 키를 누름 services.msc) MySQL80마우스 오른쪽 단추를 클릭하고 '중지'를 클릭 하여 서비스를 중지하십시오 (설치 중에 서비스 이름이 지정되므로 이름이 다를 수 있음).

  2. 데이터베이스 폴더를 원하는 곳으로 이동하십시오. 초기 위치는 일반적으로 C:\ProgramData\MySQL\MySQL Server 8.0\data입니다. C:\ProgramData\MySQL\MySQL Server 8.0\폴더 안에 my.ini파일 이 있어야 합니다. 메모장 ++ (또는 다른 메모장)로 편집하고 이전 형식을 나타내는 행을 검색하십시오. 그것의 두 가지 발생이 있어야합니다 (하나는 datadir, 하나는 secure-file-priv) 둘 다 해당하는 새 위치로 이름을 바꿉니다 ( datadir부품의 이름을 바꾸는 것으로 충분 하지만 미안보다 안전합니다). 처음에는 일반적으로 다음과 같습니다.

    datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

    secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

    따라서 새 위치가 인 경우 E:/MySQL/MySQL Server 8.0/...다음과 같이 두 항목의 이름을 바꾸십시오.

    datadir=E:/MySQL/MySQL Server 8.0/Data

    secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
  3. 이제 데이터베이스를 이동하고있는 항목의 이름을 변경 한 후 my.ini다시 서비스를 다시 시작하기 전에 레지스트리 편집기를 열고 파일 (예를 눌러 WIN + R, 유형 "regedit를", Enter 키를 누르십시오)에 대한 탐색이 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80(다시 한 번이 MySQL80는 IS 설치 중에 선택한 MySQL 서비스의 서비스 이름으로 MySQL80)과 다를 수 있으며 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이전에 수정 한 파일 을 사용하여 서비스가 실행하는 실제 exe 파일에 대한 링크 입니다. 따라서 여기서는 구성 파일의 경로도 이동했기 때문에 업데이트해야하므로이 예에서는 다음과 같이 변경됩니다.

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

    물론 구성 파일의 경로 만 변경하면됩니다.

  4. 이제 서비스를 다시 시작할 수 있습니다! 서비스로 다시 이동하고 서비스를 마우스 오른쪽 단추로 클릭 MySQL80하여 '시작'옵션을 다시 선택하면 문제없이 다시 시작됩니다. 3 단계를 건너 뛰면 일반적으로 재시작이 작동하지 않습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.