디비 복구에대해서.. 정보
디비 복구에대해서..
본문
이전 서버에서 ssh백업하고 새로운 서버에서 ssh복구 하는데..
ERROR 1062 (23000) at line 12134: Duplicate entry '2007-06-09-姨-66.249.73.99' for key 2
이런 에러가 뜨더라구요..
서버가 이상한가 해서.... 새로운 서버 말구 이전서버에서 테스트 삼아... 싹다 지우고.. ssh복구 해봤는데..
복구가 되었습니다 ㅡㅡ;;;
이전서버하고 새로운 서버가 mysql 버전이 틀려서 그런걸까요 ??
아니면 ssh 말구 다른걸루 백업해서 복구 해야 할까요 ??
(2일째....끙끙 )
댓글 전체
예! 버전 차이일겁니다.
아마 PHPMyAdmin 에서도 동일할 겁니다.
해결 방법은 새로운서버에 그누보드를 설치하셔서 SSH에서 디비 백업하세요
기존서버에서 백업한 sql파일과 새로운 서버에서 백업한 파일을 비교해보시면 차이점을 발견하실 수 있을 겁니다.
아니면 데이터 인코딩 콜레이션 때문일 수도 있겠고요 latin1 에서 백업하셔서 euc-kr 서버에 리스토어 할때 저는 그런 현상이 생겼었습니다.
저는 아래 내용을 참조하였습니다. 어느 분의 블로그였는데 제목이 mysql euckr_swedish_ci >>> euckr로 가는 대장정 였습니다. 도움이 되셨길...
1. mysqldump --default-character-set=euckr -u root -p latin_db > original.sql
2. 이 file을 윈도우즈에서 읽으면 정상적으로 보인다.(메모장, ultraedit)
3. UltraEdit기능 중 [파일]-[변환]-[ASCII를 UNICODE로] 새이름으로 저장한다.(기존 File이 일단 상하지 않도록 조심한다.) : UltraEdit-32 Professional Text/HEX Editor Version 10.10c : original_unicode
4. Linux에 올린다.
5. 지원되는 character set에 대한 우려를 해서 우선 iconv --version을 확인했다. : version은 iconv (GNU libc) 2.3.4 로 확인했다.
6. iconv -f UNICODE -t EUC-KR original_unicode.sql > original_euckr.sql
7. mysql -u root -p euckr_db < original_euckr.sql
* DB Create할 때 collation을 euckr로
* Table Create할 때 : 테이블 정의 뒤에 : ENGINE=MyISAM DEFAULT CHARSET=utf8 DEFAULT COLLATE=euckr_korean_ci; 꼭 붙여줘서 모든 character-set/collation을 euckr로 통일해준다.
아마 PHPMyAdmin 에서도 동일할 겁니다.
해결 방법은 새로운서버에 그누보드를 설치하셔서 SSH에서 디비 백업하세요
기존서버에서 백업한 sql파일과 새로운 서버에서 백업한 파일을 비교해보시면 차이점을 발견하실 수 있을 겁니다.
아니면 데이터 인코딩 콜레이션 때문일 수도 있겠고요 latin1 에서 백업하셔서 euc-kr 서버에 리스토어 할때 저는 그런 현상이 생겼었습니다.
저는 아래 내용을 참조하였습니다. 어느 분의 블로그였는데 제목이 mysql euckr_swedish_ci >>> euckr로 가는 대장정 였습니다. 도움이 되셨길...
1. mysqldump --default-character-set=euckr -u root -p latin_db > original.sql
2. 이 file을 윈도우즈에서 읽으면 정상적으로 보인다.(메모장, ultraedit)
3. UltraEdit기능 중 [파일]-[변환]-[ASCII를 UNICODE로] 새이름으로 저장한다.(기존 File이 일단 상하지 않도록 조심한다.) : UltraEdit-32 Professional Text/HEX Editor Version 10.10c : original_unicode
4. Linux에 올린다.
5. 지원되는 character set에 대한 우려를 해서 우선 iconv --version을 확인했다. : version은 iconv (GNU libc) 2.3.4 로 확인했다.
6. iconv -f UNICODE -t EUC-KR original_unicode.sql > original_euckr.sql
7. mysql -u root -p euckr_db < original_euckr.sql
* DB Create할 때 collation을 euckr로
* Table Create할 때 : 테이블 정의 뒤에 : ENGINE=MyISAM DEFAULT CHARSET=utf8 DEFAULT COLLATE=euckr_korean_ci; 꼭 붙여줘서 모든 character-set/collation을 euckr로 통일해준다.
다른분들 참고하시라고 올립니다
저도 그런 문제로 고생한 적 있는데요
옮기면서 auto_increment속성이 없어져서 그럴 겁니다.
SQL Command나 phpMyAdmin같은 걸로 테이블을 수정해 주세요.
저도 그런 문제로 고생한 적 있는데요
옮기면서 auto_increment속성이 없어져서 그럴 겁니다.
SQL Command나 phpMyAdmin같은 걸로 테이블을 수정해 주세요.