mysqldump: Got error: 145: Table '.../xe_session' is marked as crashed... 오류

워드프레스 정보를 제공하는 블로그 Avada 2024. 6. 4. 10:56 • 댓글:

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)되어 수리를 해야 함을 의미합니다. 이 오류는 다양한 이유로 발생할 수 있다고 합니다.

  1. 예상치 못한 종료: MySQL 서버나 호스트 시스템이 예기치 않게 셧다운 되는 경우 테이블 손상이 발생할 수 있습니다.
  2. 디스크 공간 부족: 디스크가 가득 차게 되면 쓰기 작업이 불완전해질 수 있고 이로 인해 테이블이 손상될 수 있스빈다.
  3. 하드웨어 문제: 디스크에 불량 섹터가 있는 등 하드웨어에 문제가 있는 경우에도 이 문제가 발생할 수 있습니다.
  4. 버그: 드물지만 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: ▒㰡 ▒ź▒

다음 티스토리 글을 참고하여 문제를 해결할 수 있었습니다.

 

[Putty] 한글이 깨질 때 Character Set을 euc-kr로 바꾸는법.

위 와 같이 putty로 ssh에 바로 접속하게되면 한글이 깨지는 현상이다. 이 경우 서버의 문자 인코딩 방식은 euc-kr 인 경우가 대부분이다. 그럼 어떻게 해야할까? 바로 putty에서 인코딩 방식(Character Se

limetimeline.tistory.com

서버의 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

 

엘리멘터 무료 버전 vs. 프로 버전 비교

엘리멘터(Elmentor)는 500만 개가 넘는 사이트에 설치되어 사용되고 있는 인기 워드프레스 페이지 빌더 플러그인입니다. 엘리멘터는 무료 버전과 프로 버전으로 제공됩니다. Elementor 프로 버전에서

avada.tistory.com

https://avada.tistory.com/2335

 

워드프레스 GeneratePress 테마 라이선스 (+요금제)

워드프레스에는 정말 많은 테마가 있습니다. 테마 라이선스는 테마마다 조금씩 다릅니다. 아바다, 엔폴드, 뉴스페이퍼 등 테마포레스트 테마의 경우 동일한 라이선스가 적용됩니다(참고). Generat

avada.tistory.com

https://avada.tistory.com/3046

 

해외웹호스팅: 클라우드웨이즈 vs. 블루호스트 vs. 카페24 비교 (Cloudways vs. Bluehost vs. Cafe24)

저는 오랫동안 블루호스트(Bluehost)를 이용해 왔으며 2021년부터는 클라우드웨이즈(Cloudways) 웹호스팅 서비스도 함께 이용하고 있습니다. 현재 일부 중요하지 않는 블로그는 Bluehost에서 호스팅되고

avada.tistory.com