MySQL InnoDB는 테이블에서 데이터 행을 삭제한 후 디스크 공간을 확보하지 않습니다.
P粉148434742
P粉148434742 2023-10-15 00:02:19
0
2
728

InnoDB 스토리지 엔진을 사용하는 MySQL 테이블이 있는데 여기에는 약 2M개의 데이터 행이 포함되어 있습니다. 테이블에서 데이터 행을 삭제하면 할당된 디스크 공간이 해제되지 않습니다. optimize table 명령을 실행한 후에도 ibdata1 파일의 크기도 줄어들지 않았습니다.

MySQL에서 디스크 공간을 확보할 수 있는 방법이 있나요?

상황이 좋지 않습니다. 앱이 약 50개 위치에서 실행되고 있으며 이제 거의 모든 위치에서 디스크 공간이 부족합니다.

P粉148434742
P粉148434742

모든 응답(2)
P粉183077097

저도 같은 문제에 직면했습니다.

데이터베이스를 삭제한 후에도 innodb가 여전히 디스크 공간을 확보하지 않습니다. 내보내고, mysql을 중지하고, 파일을 수동으로 삭제하고, mysql을 시작하고, 데이터베이스와 사용자를 생성한 다음 가져와야 합니다. 행이 200MB 밖에 없는데 250GB의 innodb 파일을 저장했습니다.

디자인이 실패했습니다.

P粉340980243

MySQL은 ibdata1의 크기를 줄이지 않습니다. 한 번. 优化表를 사용하여 삭제된 기록이 사용하는 공간을 확보하더라도 나중에 다시 사용할 수 있습니다.

또 다른 방법은 innodb_file_per_table,但这需要备份、删除数据库和恢复。积极的一面是,在 优化表格을 사용하도록 서버를 구성하는 것입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿