MySQL - Temp Table is full, 크기 조절

2018. 1. 11. 11:57plming/DB

CREATE TEMPORARY TABLE xxx ...

 

임시로 생성한 테이블에서 아래와 같은 Exception 이 발생한다면?

java.sql.SQLException: The table 'xxx' is full

 

 

MySQL 환경에 설정된 heap size와 temp table size를 조절해야한다.

 

 

* MySQL 재기동시 반영

 

 /etc/mysql 에 있는 mysql.cnf 파일을 수정한다.

 

 !includedir /etc/mysql/mysql.conf.d/

 

 이런 식으로 환경설정 파일을 나눠놨다면...

 해당 경로에 있는 mysql.cnf 파일을 수정한다.

 

원하는 크기로 설정하면 된다.

 max_heap_table_size = 256000000
 tmp_table_size = 256000000

 

 

* 실시간으로 반영 (재기동 불필요)

 

 root권한으로 접속해서 설정한다.

 

 mysql -u root -p

 

 현재 설정값을 확인해본다.

 

 SHOW VARIABLES LIKE 'max_heap_table_size';
 SHOW VARIABLES LIKE 'tmp_table_size';

 

 원하는 크기로 설정한다.

 

 SET GLOBAL max_heap_table_size = 256000000;
 SET GLOBAL tmp_table_size = 256000000;

 

 ※ 바로 (현재 연결) 반영되지 않는다.

    재 접속(다음 연결부터)하면, 반영된다.