>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 ibdata1 파일을 어떻게 제거하고 축소할 수 있습니까?

MySQL에서 ibdata1 파일을 어떻게 제거하고 축소할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-04 15:13:11281검색

How Can I Purge and Shrink the ibdata1 File in MySQL?

MySQL에서 Ibdata1 파일 제거 및 축소

MySQL에서 데이터베이스를 삭제하더라도 ibdata1 파일의 크기가 누적되어 성능 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 MySQL에서는 개별 테이블과 인덱스를 ibdata1에 저장하는 대신 별도의 파일을 사용하도록 구성할 수 있습니다.

개별 테이블 파일 구성

다음 설정을 추가하세요. my.cnf 파일에:

[mysqld]
innodb_file_per_table=1

변경 사항을 적용하려면 MySQL을 다시 시작하세요. 이렇게 하면 자체 ibd* 파일을 사용하여 새 테이블이 생성됩니다.

Ibdata1에서 공간 회수

ibdata1에서 공간을 회수하려면 다음 단계를 따르십시오.

  1. mysql을 제외한 모든 데이터베이스의 덤프를 생성하고 performance_schema.
  2. mysql 및performance_schema를 제외한 모든 데이터베이스를 삭제합니다.
  3. MySQL을 중지합니다.
  4. ibdata1 및 ib_log 파일을 삭제합니다.
  5. MySQL을 시작합니다.
  6. 다음에서 데이터베이스를 복원합니다. dump.

다시 시작하면 MySQL은 새로운 ibdata1 및 ib_log 파일을 생성합니다. 분석을 위해 새 데이터베이스를 생성하면 ibdata1이 아닌 개별 ibd* 파일이 사용됩니다.

테이블 크기 최적화

ALTER TABLE ENGINE=innodb 또는 OPTIMIZE TABLE <테이블 이름> 명령은 ibdata1의 데이터 및 인덱스 페이지를 별도의 파일로 이동할 수 있습니다. 그러나 ibdata1은 위에서 언급한 단계를 수행하지 않으면 축소되지 않습니다.

추가 참고 사항

  • information_schema 데이터베이스에는 읽기 전용 뷰가 포함되어 있으므로 삭제할 수 없습니다. MySQL을 다시 시작하면 다시 생성됩니다.
  • MySQL Enterprise Edition은 ibdata1 축소를 위한 추가 기능을 제공하지만 Community Edition에서는 사용할 수 없습니다.

위 내용은 MySQL에서 ibdata1 파일을 어떻게 제거하고 축소할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.