[텍스트큐브] 설치 화면에서 "테이블을 생성하지 못했습니다"라고 나올 때
텍스트큐브/기워쓰기
2013/01/23 14:09
MySQL 5.0까지는 테이블을 만들때에 type=MyISAM 또는 engine=MyISAM으로 테이블 형식을 지정할 수 있었다. 그러나 MySQL 5.1부터는 engine=???로 쓰지 않고 type=???로 쓰면 오류가 난다.
텍스트큐브 1.8.6까지는 이런 MySQL의 달라진 점이 반영되지 않아서 MySQL 5.1 이상을 쓰는 환경에 처음 설치할 때에 "테이블을 생성하지 못했습니다"라는 알림말이 나오며 설치 작업을 마무르지 못할 수 있다.
이 설치 문제는 setup.php에서 다음 내용을 고치면 풀 수 있다.
if(POD::dbms() == 'MySQL' || POD::dbms() == 'MySQLi') {
$charset = 'TYPE=MyISAM DEFAULT CHARSET=utf8';
$charset = 'TYPE=MyISAM DEFAULT CHARSET=utf8';
위에서 TYPE=MyISAM을 ENGINE=MyISAM으로 바꾸면 테이블을 만들지 못하는 오류는 피할 수 있다. MyISAM이 아니라 InnoDB로 쓰고 싶다면, ENGINE=InnoDB로 바꾸어 주면 된다. TYPE=MyISAM을 아예 빼면, MySQL DB에서 기본으로 지정한 테이블 형식(따로 지정하지 않으면 MySQL 5.5 이상은 InnoDB, MySQL 5.5 미만은 MyISAM)으로 만들어진다.
덧글을 달아 주세요