문제 해결 방법

SQL 파일로 데이터 입력할 때의 오류

기존 데이터베이스를 덤프한 SQL 파일로 새로운 DB에 데이터를 입력할 때 아래와 같은 오류가 날 때가 있다.

ERROR 2006 (HY000) at line 7776: MySQL server has gone away

이것은 INSERT 할 때의 값의 크기가 너무 크기 때문에 발생하는 문제인데, 이를 해결하기 위해 max_allowed_packet 값을 수정해줘야 한다. my.cnf 파일에 설정하는 방법도 있으나 아래처럼 명령행에서 입력할 수도 있다.

# mysql -u root -p --max_allowed_packet=2147483648 < sample.sql

DB 오류 복구

DB 덤프 등을 작업을 하고자 할 때 아래와 같은 메시지를 뿌리며 오류를 내는 경우가 있다.

144: Table './sample/xe_counter_log' is marked as crashed and last (automatic?) repair failed when using LOCK TABLES

이런 경우에는 MySQL에 접속해서 오류가 난 테이블을 복구한다.

mysql> use sample;
mysql> analyze table xe_counter_log;
mysql> repair table xe_counter_log;

참고

이 작은숲 문서의 출처는 위키노트의 위키노트/MySQL 문제 해결 문서입니다.