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
위 명령으로 심볼릭 링크의 끝점만 고쳐주면 데이터베이스는 새 경로를 향하게 됩니다.
모든 작업이 끝났습니다. 기존에 사용하던 데이터베이스가 잘 작동하는 지 확인하고 잘 작동한다면 잘 사용하시면 되겠습니다.
이 글이 도움이 될 수 있으면 좋겠습니다.