여러분은 가만히 계세요 제가 모두 고장낼게요

IT 지식, PC 모바일 문제 해결 그리고 종종 애니 게임 일상생활 근황을 종종 올리고 있어요!

냐.한국 자세히보기

카테고리 없음

Synology MariaDB 데이터 볼륨 이동하기

Kamilake 2022. 3. 28. 13:15

SSD에 데이터베이스를 설치하기 위해 시스템 드라이브를 이동해보도록 하겠습니다.

mysql -u root -p <암호>

먼저, 데이터 저장 경로를 찾기 위해 SSH에서 위 명령으로 데이터베이스로 들어가줍니다.

select @@datadir; 쿼리를 입력하면 지금 데이터베이스 사전이 어디 저장되어 있는지 볼 수 있습니다.

이 경로를 잘 기억해두세요. 저 같은 경우는 /var/packages/MariaDB10/target/mysql/ 입니다.

위 폴더로 이동해서 ll 명령을 입력하면 실제 폴더가 존재하는 게 아닌 심볼릭 링크로 연결되어 있을 뿐이라는 걸 알 수 있습니다.

/var/packages/MariaDB10/target/mysql/은 심볼릭 링크로 만들어진 가상 폴더, 즉 바로가기입니다.

pwd -P 명령으로 실제 위치로 이동하면 어떤 볼륨에 데이터베이스가 있는지 확인할 수 있습니다.

/volume1/@appdata/MariaDB10/mariadb10 폴더를 통째로 /volume2/@appdata/MariaDB10/mariadb10로 이동합니다.

mv 또는 cp 명령 대신 원본 데이터를 그대로 보존하는 rsync 명령으로 복사하면 더 안전합니다.

sudo rsync -av /volume1/@appdata/MariaDB10/mariadb10 /volume2/@appdata/MariaDB10/mariadb10

이전 디렉토리에 있는 파일은 삭제하지 말고 완벽히 작동할 때까지 이름만 mariadb10.bak 정도로 바꿔둔 채로 유지하는 것이 정신건강에 좋습니다. 문제가 생겼을 때 되돌릴 수 있으니깐요.

아까 데이터베이스 쿼리로 찾았던 /var/packages/MariaDB10 폴더 속에 target 말고도 tmp 또는 var이라는 폴더가 있었어요. 이들 폴더는 전부 실제 데이터베이스를 가리키는 심볼릭 링크입니다.

저는 /volume1/@appstore/MariaDB10 폴더를 /volume2/@appstore/MariaDB10 으로 이동했기 때문에 저 부분을 수정해주도록 하겠습니다.

ln -Tfs /volume2/@appstore/MariaDB10 home  
ln -Tfs /volume2/@appstore/MariaDB10 target  
ln -Tfs /volume2/@appstore/MariaDB10 tmp  
ln -Tfs /volume2/@appstore/MariaDB10 var

위 명령으로 심볼릭 링크의 끝점만 고쳐주면 데이터베이스는 새 경로를 향하게 됩니다.

모든 작업이 끝났습니다. 기존에 사용하던 데이터베이스가 잘 작동하는 지 확인하고 잘 작동한다면 잘 사용하시면 되겠습니다.

이 글이 도움이 될 수 있으면 좋겠습니다.