itsource

MySQL에서 ibtmp1 파일을 정리하거나 크기를 조정하는 방법은 무엇입니까?

mycopycode 2023. 10. 19. 22:18
반응형

MySQL에서 ibtmp1 파일을 정리하거나 크기를 조정하는 방법은 무엇입니까?

MySQL 5.7은 InnoDB에 임시 데이터를 저장하는 새로운 파일 ibtmp1을 도입하여 성능을 향상시켰습니다.

하지만 저는 그것의 크기가 지속적으로 증가한다는 것에 주목했습니다.제 db 서버에서는 크기가 92GB로 늘어납니다.

서버를 다시 시작하지 않고 파일 크기를 줄이거나 삭제할 수 있는 방법은 없습니까?

감사해요.

한번 생성된 ibtmp1은 mysql 서비스를 다시 시작하지 않으면 어떤 방법으로도 축소할 수 없습니다.

이를 처리하는 방법은 두 가지입니다.

주의사항 : 서버를 시작할 때 이 파일의 크기를 다음과 같이 제한해야 합니다.

 innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G

여기서 max 5G는 이 파일 크기가 5GB로 제한됨을 의미합니다.

치료 : 파일이 이미 생성된 경우 서비스를 다시 시작해야 합니다.

SET GLOBAL innodb_fast_shutdown = 0;
Shutdown MySQL
remove ibtmp1
start MySQL.

문서: https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-tablespace.html

mysql 5.7 이상에서는 ibtmp1 파일이 사용하는 공간을 다시 확보하기 위해 서비스를 재시작하기만 하면 됩니다.

GLOBAL innodb_fast_ shutdown = 0을 설정하거나 파일을 수동으로 삭제할 필요가 없습니다.

이 문제를 해결하려면 다음 단계만 수행합니다.

1- 다음 명령을 실행합니다.
sudo nano /etc/mysql/my.cnf

2 - [mysqld] 행 아래에 다음 행을 추가합니다.
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G

3- 파일을 저장합니다.

4- 이제 디스크 공간을 좀 확보하고 ibtmp1을 삭제해야 합니다. SQL 서버를 다시 시작하면 됩니다.

sudo service mysql restart

언급URL : https://stackoverflow.com/questions/41216630/how-to-clean-or-resize-the-ibtmp1-file-in-mysql

반응형