mysql 테이블 에서 일어난 본적 없는 문제입니다.
글쓴이: s0ulhacker / 작성시간: 화, 2015/07/28 - 5:53오후
회원정보가 저장되는 memeber 라는 테이블인데요.
이 테이블에 연락처부분이 뒷자리가 잘려 나가있습니다.
그리고 member 테이블의 MYD 파일을 에디트플러스 등의 편집기로 열어보면
회원이 700명정도 되는데 mysql 콘솔에서 select * from member; 명령을 내리면 30명정도만 나옵니다.
MYD 파일을 열어봤을때 위에 콘솔에서 출력되는 30명을 제외하고는 전화번호가 잘려있지 않은걸로 보입니다.
덤프떠서 mysql 새로 설치한곳에 복구해봐도 30명만 나오구요.
정말 이상합니다.
mysql 버전은 5.0 입니다.
분명히 데이터 파일에는 훨씬 많은 양이 있는데 왜 30명만 조회가 되는걸까요?
고수님들의 조언을 부탁드립니다.
Forums:
아 참고로 로그 남는걸 말씀드리자면 아래와 같습니다.
150728 16:28:09 [Warning] './test/member' had no or invalid character set, and default character set is multi-byte, so character column sizes may have changed
검색해보니 mysql 하위버전에서 상위버전으로 옮겼을때 생기는것 같은데
작년 8월쯤에 DB를 옮긴적이 있긴 합니다.
그런데 옮기기전에 쓰던 mysql 버전이 어떤건지는 모르는 상황입니다.
default-character-set 에 변경이
default-character-set 에 변경이 생겨서 그런것 같은데 아래 링크 확인해보세요.
http://ra2kstar.tistory.com/97
소곤소곤
캐릭터셋...
캐릭터셋에 변경이 생겨도 700명 회원중 30명만 조회되는 경우가 생기나요?
아니면 데이터 일부가 잘려나간것의 원인을 말씀해주신건가...
일단 변경해보겠습니다
답변 감사드립니다^^
캐릭터셋 변경해봐도 안되네요...
700명 회원중 여전히 30명만 나오는군요...
아 어렵습니다.
동일한 에러는 이제 발생하지 않나요? 이미 다른
동일한 에러는 이제 발생하지 않나요?
이미 다른 character-set으로 저장된 내용에 대해서는 다른 조치가 필요할것 같네요..
예를들면 컬럼에 직업 update를 진행한다던지, mysqldump를 통해 다시 resotre 한다던지요.
소곤소곤
mysqldump 를 통해 덤프를 뜨면...
select 로 출력했을때 나오는 31명의 회원만 덤프파일에 들어갑니다.
원래 MYD 파일엔 700명정도가 들어있는데 참 이상합니다..
31명만 나오는게 인덱스값이랑 관련이 있을수 있나요?
인덱스 조회해보면 아래와 같이 나옵니다.
mysql> show index from member;
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| member | 0 | PRIMARY | 1 | idx | A | 31 | NULL | NULL | | BTREE | |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
1 row in set (0.00 sec)
댓글 달기