Q&A

 

서버의 DB

서버 타입: MariaDB
서버 버전: 10.1.13-MariaDB - Source distribution
제품 버전: 10
서버 문자셋: UTF-8 Unicode (utf8)

 

db.config.php 설정

 'db_type' => 'mysqli_innodb',

 

classes/db/DBMysqli_innodb.class.php

$schema = sprintf('create table `%s` (%s%s) %s;', $this->addQuotes($table_name), "\n", implode($column_schema, ",\n"), "ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci");
echo $schema;//디버그를 위해서 잠시 추가

 

//웹페에지 출력 결과

create table `xe_ncenterlite_notify` ( `notify` char(32) not null , `srl` bigint(11) not null , `target_srl` bigint(11) not null , `target_p_srl` bigint(11) not null , `type` char(1) not null , `target_type` char(1) not null , `notify_type` bigint , `member_srl` bigint(11) not null , `target_member_srl` bigint(11) not null , `target_nick_name` varchar(50) not null , `target_user_id` varchar(50) not null , `target_email_address` varchar(50) not null , `target_browser` varchar(50) , `target_summary` varchar(50) , `target_body` varchar(255) , `target_url` varchar(255) not null , `readed` char(1) default 'N' not null , `regdate` varchar(14) , primary key (`notify`), index idx_srl (`srl`), index idx_target_srl (`target_srl`), index idx_target_p_srl (`target_p_srl`), index idx_member_srl (`member_srl`), index idx_target_member_srl (`target_member_srl`), index idx_readed (`readed`), index idx_regdate (`regdate`)) ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
DB 테이블 생성에 실패했습니다.

캡처.JPG

 

//sql 쿼리 직접 실행 결과

오류
SQL 질의:
create table `xe_ncenterlite_notify` ( `notify` char(32) not null , `srl` bigint(11) not null , `target_srl` bigint(11) not null , `target_p_srl` bigint(11) not null , `type` char(1) not null , `targe

MySQL 메시지: 문서
#1286 - Unknown storage engine 'INNODB'

 

INNODB 를 MyISAM 으로 변경하면 정상 작동 됩니다.

 

얼마전까지는 괜찮았던것으로 기억합니다.(가장 이해가 안되는 부분)

서버업체에서 변경이 있었을까요?ㅜㅜ mysql 에서 MariaDB로 변경을 해버린것인지..

MariaDB 에서 mysqli_innodb 이용시 문제가 생기는 현상일까요?

 

 

댓글 7