db/mysql

mysql - user error: Can't create/write to file '/tmp/xxx'

C/H 2010. 11. 18. 08:30

에러 내용

Error Code: 3
Error writing file '/home/uncaose/tmp/MYggXeGS' (Errcode: 27)

참고

5천만건 이상의 테이블을 리모링을 위해서 group by count 결과를 insert into select 로 쿼리 질의를 날리면 tmp 파일 생성에 문제가 생긴다.

하지만 해결 방법은 구글링을 해도 아직 찾지 못했다. ㅜ.ㅜ





결과는 에러고 문제점이 무엇인지 정확한 파악이 안되니 우물가에서 숭늉찾는 식의 뻘짓이 계속된다.

이런 된장.

정확한 에러 원인을 다시 찾으니 tmp 파일이 너무 커서 에러가 났단다.

mysql ErrCode
mysql ErrCode
Error code 27: 파일이 너무 큽니다
  
문제점을 확인한 자료 : Large files support is disabled, large-pages option is broken

안되는 영어로 알아본 결과 mysql 설치시 large-pages 옵션을 설정해서 대용량 파일을 사용할 수 있도록 설치하라...
How to repeat:
# Start server with default configuration
# (or at least without --large-pages option)

  SELECT @@large_files_support
# 0
Suggested fix:
Vladislav Vaintroub wrote:

patch below fixes typo in sys_vars.cc and makes large_files ON for me

=== modified file 'sql/sys_vars.cc'
--- sql/sys_vars.cc     2010-03-15 13:52:25 +0000
+++ sql/sys_vars.cc     2010-04-09 04:44:45 +0000
@@ -859,7 +859,7 @@
static Sys_var_mybool Sys_large_pages(
      "large_pages", "Enable support for large pages",
-     READ_ONLY GLOBAL_VAR(opt_large_files),
+     READ_ONLY GLOBAL_VAR(opt_large_pages),
      IF_WIN(NO_CMD_LINE, CMD_LINE(OPT_ARG)), DEFAULT(FALSE));

static Sys_var_charptr Sys_language(~~~~

위 코드를 볼때 결국은 소스파일을 수정하고 다시 컴파일해서 설치하라는 소리다.
에궁..


그냥 쉽게 월/별로 쪼개서 하고 만다. 
자료만 밀어넣는데 1주일이 걸렸구먼... 
난 DBA가 아니란 말이다.
엉엉엉 ㅠ.ㅠ


반응형