![전체 파티션에서 더 많은 공간이 있는 파티션으로 파일을 이동하는 방법은 무엇입니까?](https://linux55.com/image/98971/%EC%A0%84%EC%B2%B4%20%ED%8C%8C%ED%8B%B0%EC%85%98%EC%97%90%EC%84%9C%20%EB%8D%94%20%EB%A7%8E%EC%9D%80%20%EA%B3%B5%EA%B0%84%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%ED%8C%8C%ED%8B%B0%EC%85%98%EC%9C%BC%EB%A1%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9D%B4%EB%8F%99%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
전체 파티션에서 더 많은 공간이 있는 파티션으로 파일을 이동하는 방법은 무엇입니까?
배경 이야기:
Centos7은 설치 중에 1TB 하드 드라이브를 분할했습니다. mysql이 설치되어 실행되는 파티션이 50G에 불과하다는 사실을 몰랐습니다. 최대 용량에 도달했으며 이제 mysql 서비스가 시작되지 않으므로 테이블을 삭제하거나 자를 수 없습니다. 실행 후에는 mysql 테이블을 큰 파티션에 유지하는 방법을 온라인으로 검색하겠습니다. 실제로 Linux Centos에 왜 그렇게 많은 작은 파티션이 필요한지, 어떤 용도로 사용되는지 모르겠습니다. 내 Linux 컴퓨터에 인터넷 브라우저가 없어서 복사하여 붙여넣을 수 없습니다 df -h
.
마운트된 파티션은 /
50G에 불과하고 마운트된 파티션에는 /home
800G의 여유 공간이 있습니다.
당신의 도움을 주셔서 감사합니다.
답변1
콘텐츠를 더 큰 파티션에 복사하고 , 공간이 제한된 파티션에서 이전 복사본을 제거하고, 시스템이 새 위치를 찾아 사용할 수 /var/lib/mysql
있도록 새 위치에 대한 소프트 링크를 만들어야 합니다 ./var/lib/mysql
요청한 대로 여기에 실제 명령이 있지만 항상 그렇듯이 rm
명령을 실행하기 전에 각별히 주의하십시오(예: 파일이 올바르게 복사되었는지 확인하십시오. 예를 들어 du -shx .
두 위치 모두에서 사용하여 총 크기가 대략 다음과 같은지 확인하십시오) 똑같다):
mkdir /home/var-lib-mysql
cp -ax /var/lib/mysql/. /home/var-lib-mysql/
rm -rf --one-file-system /var/lib/mysql
ln -sf -T /home/var-lib-mysql/ /var/lib/mysql
물론 이는 해킹이므로 문자 그대로 "var-lib-mysql"이라는 사용자 계정을 생성하지 않아야 한다는 점을 명심하세요.
답변2
- "새 파티션"을 만듭니다.
- "새 파티션"을 "백업" 폴더에 마운트합니다.
- "/var/lib/mysql"의 모든 내용과 권한을 "backup" 폴더에 복사합니다.
- 폴더 백업을 제거합니다.
- "ew 파티션"을 "/var/lib/mysql"에 마운트합니다.