programing

Windows 서버의 Maria DB 데이터 변경

copyandpastes 2023. 1. 22. 22:49
반응형

Windows 서버의 Maria DB 데이터 변경

Windows 서버에 MariaDB 를 인스톨 하면, 데이터베이스가 격납되어 있는 데이터 디폴트가 표시됩니다.C:\Program Files\MariaDB 10.2\data

데이터베이스 전용 E: 디스크를 옮기고 싶었어요.

datadir를 복사한 다음 my.ini를 수정하고C:\Program Files\MariaDB 10.2\datadatadir로 해결할 수 있지만 서비스를 재시작하려고 해도 부팅이 되지 않습니다.폴더 권한을 네트워크 서비스로 설정하려고 했지만 도움이 되지 않는 것 같습니다.

윈도우에서 데이터디어를 이동하려면 어떻게 해야 합니까?

많은 검색 끝에 우연히 http://baazgusht.blogspot.nl/2017/02/change-datadir-of-mariadb-in-window.html를 발견했습니다.

윈도우에서 데이터디어를 이동하는데 필요한 힌트를 주었어요.

  • 관리자 모드에서 cmd 열기(검색 cmd 시작, 관리자로 오른쪽 클릭 실행)
  • 유형Net stop MariaDB(혹은 당신이 서비스 이름을 붙인 것이 무엇이든)나에겐 그랬다net stop "MariaDB 10_2_7"
  • CD 수신처C:\program files\mariadb 10.2\(또는 mariadb가 설치되어 있는 장소)
  • 유형:xcopy data E:\MariaDB /O /X /E /H /K (E:\MariaDb가 제 위치입니다.다른 위치가 있을 수 있습니다.E:\MariaDB를 원하는 값으로 바꿉니다.my.ini의 datadir에 다음과 같은 값을 사용합니다.)
  • Xcopy는 대상이 존재하지 않을 때 파일인지 폴더인지를 묻습니다.폴더를 나타내는 옵션을 선택합니다.
  • 입력: 메모장 data/my.ini
  • 가치를 바꾸다datadir=C:\Pro....로.datadir=E:\MariaDB
  • save (표준 + s)
  • CMD 유형으로net start mariadb(혹은 당신이 서비스 이름을 붙인 것이 무엇이든)나에겐 그랬다net start "MariaDB 10_2_7"

진짜 문제는 이거인 것 같아요.

MariaDB는 MySQL5.5(또는 사용하는 다른 버전의 경우 MariaDB10)를 "그룹 사용자"로 사용하여 데이터 폴더에 대한 전체 권한을 설정합니다.그러나 이 "그룹 사용자"는 Windows "사용자 및 그룹" 아래에 생성되지 않습니다.따라서 보안 탭에서 이 그룹을 추가하고 다른 폴더에 권한을 설정할 수 없습니다.

이 문제를 효과적으로 해결하려면 원래 데이터 폴더를 원래 사용 권한을 보존하는 새 위치에 복사해야 합니다.

그러나 문제는 오래된 데이터 폴더가 충돌한 후 복구된다는 것입니다.그 때문에, 회피책(오늘 밤 시험해 보겠습니다)이 명확하지 않습니다.올바른 사용자 그룹을 설정해야 합니다.

진정한 버그 수정: MariaDB의 설치를 수정하여 폴더 권한에 사용할 뿐만 아니라 "그룹 사용자"를 적절한 위치에 효과적으로 만듭니다.

@Tschallacka 답변 추가 정보:

복사된 my.ini 파일은 MariaDB에 의해 받아들여지지 않기 때문에 타깃디렉토리(이 예에서는 E:\MariaDb)에서 삭제해야 합니다(어차피 오래된 경로가 포함되어 있습니다).소스 디렉토리의 내용("C:my.ini를 제외한 \Program Files\MariaDB 10.2\data)도 삭제해야 합니다.이러한 파일은 새로운 경로에서 발견되기 때문입니다.

@Tschallacka의 솔루션은 xcopy도 파일의 권한을 복사하기 때문에 작동합니다.Windows 탐색기는 지원하지 않습니다.

xcopy 옵션 :
/E Copies directories and subdirectories, including empty ones.
/H Copies hidden and system files also.
/K Copies attributes. Normal Xcopy will reset read-only attributes.
인스톨 직후에는 숨김 파일, 시스템 파일, 읽기 전용 파일이 없습니다.통상 사용 후에는 숨김 파일이나 읽기 전용 파일이 없습니다.복사된 파일에는 문제가 없습니다만, 문제가 되지 않습니다.
/O Copies file ownership and ACL information.
원래 디렉토리에는 몇 가지 추가 권한 세트가 있습니다.이러한 파일이 없으면 MariaDB 서비스는 복사된 파일에 제대로 액세스할 수 없는 것 같습니다.
/X Copies file audit settings (implies /O).
이 옵션이 없어도 서비스는 정상적으로 시작되는 것 같습니다.

이 오류로 인해 약간의 혼란이 발생한 후 다음을 권장합니다.

  1. 를 사용합니다(예: Windows 패스).C:/MariaDB/DB.
  2. 적절한 권한을 가지고 시험해 보십시오.이것은 효과가 있는 것 같습니다.

    cacls Path_to_MariaDB_DBData /E /T /P "Network Service":F 
    

언급URL : https://stackoverflow.com/questions/45715993/maria-db-change-datadir-on-windows-server

반응형