XE 사이트의 DB를 엑스포트하기 위해 SSH에 접속하여 mysqldump 명령을 실행하니 "mysqldump: Got error: 145: Table '.db_name/xe_session' is marked as crashed and should be repaired when using LOCK TABLES" 오류가 발생하면서 임포트가 되지 않는 문제를 최근 경험했습니다.
"mysqldump: Got error: 145..." 에러가 발생하는 경우 해결 방법에 대하여 살펴보겠습니다.
mysqldump: Got error: 145: Table '.../xe_session' is marked as crashed... 오류
오류의 원인
이 오류 메시지는 해당 db 내의 xe_session 테이블이 손상(crashed)되어 수리를 해야 함을 의미합니다. 이 오류는 다양한 이유로 발생할 수 있다고 합니다.
- 예상치 못한 종료: MySQL 서버나 호스트 시스템이 예기치 않게 셧다운 되는 경우 테이블 손상이 발생할 수 있습니다.
- 디스크 공간 부족: 디스크가 가득 차게 되면 쓰기 작업이 불완전해질 수 있고 이로 인해 테이블이 손상될 수 있스빈다.
- 하드웨어 문제: 디스크에 불량 섹터가 있는 등 하드웨어에 문제가 있는 경우에도 이 문제가 발생할 수 있습니다.
- 버그: 드물지만 MySQL 등에 버그가 있는 경우 테이블 손상이 일어날 수 있습니다.
해결 방법
MySQL 서버에 접속하여 손상된 테이블의 복구를 시도할 수 있습니다.
$ mysql -u your_mysql_username -p
Enter password:
mysql> USE db_xe;
Database changed
mysql> REPAIR TABLE xe_session;
+---------------------------+--------+----------+----------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------------------------+--------+----------+----------------------------------------+
| db_xe.xe_session | repair | status | OK |
+---------------------------+--------+----------+----------------------------------------+
1 row in set (0.02 sec)
실제로 위의 명령을 실행하니 손상된 테이블이 복구되었습니다.
다시 mysqldump 명령을 실행하니 오류 없이 DB가 엑스포트되었습니다.
오래된 XE 사이트를 워드프레스 사이트로 이전하기 위해 DB와 데이터를 백업해야 했습니다. 시스템이 오래되어 그런지 SSH에 접속하여 mysqldump 명령을 실행하니 다음과 같은 오류가 발생했습니다.
-bash: db_xe_backup.sql: ▒㰡 ▒ź▒
다음 티스토리 글을 참고하여 문제를 해결할 수 있었습니다.
서버의 Locale이 euc-kr로 설정되어 있어 위의 글을 참고하여 조치를 취하니 Putty에서 한글이 올바르게 표시되었습니다. 상기의 깨져 보이는 문자는 "허가 거부" 메시지였습니다.
-bash: db_xe_backup.sql: 허가 거부
아마 Permission Denied의 한국어 번역이 아닐까 생각됩니다. 권한이 부족하여 발생하는 문제였습니다.😁
XE 사이트의 DB를 내보내기 하니 크기가 1.9GB에 달했습니다. 이 정도의 크기면 phpMyAdmin에서는 임포트가 불가능할 것 같고, 카페24나 클라우드웨이즈 등 SSH가 지원되는 호스팅에서 SSH에 접속하여 DB 임포트를 시도해보아야 할 것 같습니다.
XE/제로보드/그누보드 등의 게시판을 워드프레스로 이전(마이그레이션)하는 유료 툴이 있습니다. 유료 플러그인을 사용하면 편리하게 게시판을 옮길 수 있지만, URL 매핑 등은 지원되지 않습니다. URL까지 매핑이 가능하도록 이전하고 싶은 경우에는 수동으로 DB 작업을 통해 이전해야 할 수도 있습니다.
참고
https://avada.tistory.com/2897
https://avada.tistory.com/2335
https://avada.tistory.com/3046