반응형

OS: Ubuntu 14.04 (amd64)

에러 발생한 버전: 5.5 (Ubuntu 14.04에서 apt-get으로 기본 설치되는 버전)



아마존웹서비스(AWS) 서버에 있는 MySQL 데이터베이스를 dump를 떠서 Ubuntu 14.04를 쓰는 개인 피씨에 옮기려고 했는데, 백업이 복구가 되지 않고 아래와 같은 에러가 발생하였다:


$ mysql -uroot -p test < test_170728.sql

Enter password: 

ERROR 1293 (HY000) at line 25: Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause



에러 메세지가 알려주는 것 그대로, 테이블 하나에 TIMESTAMP 타입의 column은 한개만 default로 CURRENT_TIMESTAMP를 지정할 수 있다는 내용이다.


참고로 이 제한사항은 5.6부터 해제되었기 때문에, 지금 쓰는 mysql-server-5.5를 mysql-server-5.6으로 업그레이드하면 문제가 해결된다.


$ sudo apt-get update

$ sudo apt-get install mysql-server-5.6


이미 5.5에서 관리하고 있던 데이터베이스가 있는 경우, 위와 같이 5.6을 설치하면 자동으로 데이터베이스가 이전되므로 별도로 dump를 떠서 옮길 필요는 없다. 다만 만약의 경우를 대비해서 5.6을 설치하기 전에 미리 백업을 해 두면 안전하긴 하다.





반응형
블로그 이미지

Bryan_

,