전체 파티션에서 더 많은 공간이 있는 파티션으로 파일을 이동하는 방법은 무엇입니까?

전체 파티션에서 더 많은 공간이 있는 파티션으로 파일을 이동하는 방법은 무엇입니까?

전체 파티션에서 더 많은 공간이 있는 파티션으로 파일을 이동하는 방법은 무엇입니까?

배경 이야기:

Centos7은 설치 중에 1TB 하드 드라이브를 분할했습니다. mysql이 설치되어 실행되는 파티션이 50G에 불과하다는 사실을 몰랐습니다. 최대 용량에 도달했으며 이제 mysql 서비스가 시작되지 않으므로 테이블을 삭제하거나 자를 수 없습니다. 실행 후에는 mysql 테이블을 큰 파티션에 유지하는 방법을 온라인으로 검색하겠습니다. 실제로 Linux Centos에 왜 그렇게 많은 작은 파티션이 필요한지, 어떤 용도로 사용되는지 모르겠습니다. 내 Linux 컴퓨터에 인터넷 브라우저가 없어서 복사하여 붙여넣을 수 없습니다 df -h.

마운트된 파티션은 /50G에 불과하고 마운트된 파티션에는 /home800G의 여유 공간이 있습니다.

당신의 도움을 주셔서 감사합니다.

답변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"에 마운트합니다.

관련 정보