이 글은 database.sarang.net에서 가져온 글입니다.
정재익(advance) |
작성일 |
2004-02-03 15:26:27ⓒ 2004-02-03 15:28:22ⓜ |
조회수 |
4,893 |
---|
이글은 QnA 란에 '왕초보'님께서 올린 글을 이곳으로 옮겨 둔 것입니다.
MySQL 에서 테이블을 만들다 보면 4 G 이상의 크기가 되면 (ERROR 1114 (HY000): The table 'TBSOJM00' is full ? ) 이런 류의 에러를 발생하게 됩니다. 이것은 테이블의 크기가 기본적으로 4GB 로 되어 있기 때문에 발생하는 오류입니다. 이것을 해결하기 위한 글입니다.
---- Mysql을 처음 사용하는 초보로써 마땅히 해결방법을 찾지 못하다가 도움을 주신분들을 통해 Menual을 찾아 그 문제를 해결하였습니다. 저 같이 초보되신 분들이 같은 문제로 고민할것 같아 정리해 보았습니다.
Error Code: ERROR 1114 (HY000): The table 'TBSOJM00' is full
정리: tbsojm00이라는 Table이 4GB로 제한된 Size에 때문에 table에 full이 난 상황이며, 이에 대한 해결방법입니다.
먼저, 해당Table에 대한 정보를 조회합니다. mysql>환경에서 입력해야 합니다.
[Syntax] show table status from DataBase명 like 'Table명'; [예제] DataBase명- korea, table명-seoul일 경우 show table status from korea like 'seoul';
조회된 결과에서 max_rows Column과 avg_row_length Column값을 변경하면 됩니다. [Syntax] alter table table명 max_rows=레코드수 avg_row_length=원하는테이블용량 [예제] 레코드수-1억건, 원하는테이블용량-60GB일 경우 alter table seoul max_rows=100000000 avg_row_length=60240000000;
[도움이 된 싸이트] http://www.mysql.com/doc/en/Full_table.html
테스트 결과 현재 6GB를 넘겼습니다. |
참고로 Windows 계열에서 FAT32 로 포맷팅되어 있는 경우 파일의 최대 크기가 filesystem 자체에서 4GB 로 한정되게 되어 있습니다. 그러므로 이런 경우는 파일 크기를 늘일 방법이 없습니다. filesystem 을 NTFS 로 변경하셔야 합니다.
게시판에서 "테이블의 최대 크기를 4 G 이상으로 늘이는 방법" 에 대해 2가지 의견이 있어, 그 의견중 어떤 것이 정확한 것인지 문의합니다.
<사용자가 원하는 테이블 조건>
1. 레코드 수(MAX_ROWS) : 1억개의 튜플(레코드),
2. 테이블의 크기 : 100G 라고 가정했을때,
다음 1)과 2) 중 어느 것이 정확한 건지 아시는 분 있으면 꼭 답변 부탁드립니다
(편의상 1KB = 1000Byte 으로 계산).
1) 테이블 크기= max_rows * avg_row_length
100,000,000,000 Byte = 100,000,000 레코드 * avg_row_length
=> avg_row_length = 1000 Byte , max_rows = 100,000,000 레코드
2) avg_row_length : 원하는 데이블 용량,
max_rows : 레코드 수
=> avg_row_length = 100 GB = 100,000,000,000 Byte,
=> max_rows = 1억 튜플 = 100,000,000 레코드
위의 2 가지 중에서 어떤 것이 맞는 건지 꼬오옥 좀 답변 바랩니데이...
그럼 이만 욕보쇼이...
MySQL Administrator 프로그램에서,
Catalogs 메뉴를 클릭하고 좌측의 테이블 목록에서 해당 테이블을 선택하세요.
하단의 Details>> 를 누른후 Row Status를 보시면 현재 테이블의 정보가 보입니다.
즉, Avg row length * Rows가 테이블의 용량이 되는 것입니다.
만약 1MB의 이미지 데이터가 100개 있는 경우에는
avg row length = 1 * 1024 * 1024
rows = 100
이렇게 하시면 됩니다.
'DataBase > MySQL' 카테고리의 다른 글
[본문스크랩] MySQL 튜닝에 관하여 (0) | 2010.04.24 |
---|---|
[본문스크랩] mysql 테이블 복구 (0) | 2010.04.24 |
[본문스크랩] mysql 초보 입문 가이드 (0) | 2010.04.24 |
[본문스크랩] my_sql 유릴리티 설명 (0) | 2010.04.24 |
[본문스크랩] load data infile MySQL Dump (0) | 2010.04.24 |