> 데이터 베이스 > MySQL 튜토리얼 > 데이터베이스 성능을 향상시키기 위해 InnoDB 스토리지 엔진을 효율적으로 정리하려면 어떻게 해야 합니까?

데이터베이스 성능을 향상시키기 위해 InnoDB 스토리지 엔진을 효율적으로 정리하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-16 16:51:15
원래의
993명이 탐색했습니다.

How Can I Efficiently Clean Up My InnoDB Storage Engine to Improve Database Performance?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿