InnoDB 스토리지 엔진을 정리하는 방법
이점에도 불구하고 InnoDB 스토리지 엔진은 삭제된 테이블의 데이터로 가득 차서 잠재적으로 팽창할 수 있습니다. 시간이 지남에 따라 데이터베이스. 불필요한 데이터를 정리하고 데이터베이스 효율성을 유지하려면 다음 단계를 따르십시오.
1단계: 데이터베이스 데이터 덤프
mysqldump를 사용하여 전체 데이터베이스를 SQL 텍스트 파일로 내보냅니다. . 예를 들어 SQLData.sql이라는 파일을 생성할 수 있습니다.
2단계: 데이터베이스 삭제
mysql 및 information_schema를 제외한 모든 데이터베이스를 삭제합니다. mysql 디렉토리를 백업 위치(/var/lib/mysql_grants)에 복사하여 모든 사용자 권한이 있는지 확인하세요.
3단계: 트랜잭션 변경 사항 플러시
다음을 실행하세요. 명령 SET GLOBAL innodb_fast_shutdown = 0; 남아 있는 트랜잭션 변경 사항을 제거합니다.
4단계: 구성 종료 및 수정
MySQL을 종료하고 /etc/my.cnf 파일에 다음 줄을 추가합니다.
[mysqld] innodb_file_per_table innodb_flush_method=O_DIRECT innodb_log_file_size=1G innodb_buffer_pool_size=4G
5단계: 정리 Files
MySQL 데이터 디렉터리에서 ibdata 및 ib_logfile 파일을 삭제합니다.
6단계: MySQL 다시 시작
ibdata1 및 ib_logfile*을 다시 생성하려면 MySQL을 다시 시작하세요.
7단계: 데이터 가져오기
이전에 덤프한 SQLData.sql 파일을 가져와 데이터베이스 데이터를 복원합니다.
이 단계를 완료한 후, ibdata1에는 테이블 메타데이터만 포함되며 각 InnoDB 테이블은 독립적으로 저장됩니다. 이제 OPTIMIZE TABLE을 실행하면 테이블 파일(/var/lib/mysql/mydb/mytable.ibd)이 효과적으로 축소됩니다.
위 내용은 데이터베이스 성능을 향상시키기 위해 InnoDB 스토리지 엔진을 효율적으로 정리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!