테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 utf8mb4 설치하기 (2021-06-16 18:19 수정)

· 8년 전 · 5966 · 8

2017-08-22  새로운 정보가 확인되어 팁을 수정했습니다.
2021-06-16  adm / dbupgrade.php 에 수정사항 추가
2021-06-16  그누보드(영카드) 5.4.5.1 기준


그누보드5를 utf8bm4 형식으로 설치하는 방법입니다.
ENGINE=MyISAM   를   ENGINE=InnoDB   로 변경은  하지 않아도 utf8mb4 설치가 가능합니다.

1-1. 그누보드5 / config.php  35줄
define('G5_DB_ENGINE', '');

를 아래와 같이 변경

define('G5_DB_ENGINE', 'InnoDB');
if (G5_DB_ENGINE == '') {
    define('G5_DB_ENGINE', 'MyISAM');
}


1-2. 그누보드5 / config.php  42줄
define('G5_DB_CHARSET', 'utf8');  를
define('G5_DB_CHARSET', 'utf8mb4');  로 변경


2. 영카트5 / orderupgrade.php  64줄 , 82줄 , 133줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


3-1. 그누보드5 / adm / config_form.php  61줄 , 80줄
) ", false);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", false);  로 변경


3-2. 그누보드5 / adm / config_form.php  115줄 , 253줄
) ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


4. 그누보드5 / adm / contentlist.php  24줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


5-1. 그누보드5 / adm / dbupgrade.php  72줄
) ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


5-2. 그누보드5 / adm / dbupgrade.php  192줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8;", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


6. 그누보드5 / adm / faqmasterlist.php  24줄 , 43줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


7. 그누보드5 / adm / menu_list.php  24줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


8. 그누보드5 / adm / newwinlist.php  31줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


9. 그누보드5 / adm / qa_config.php  49줄 , 80줄
) ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


10. 그누보드5 / adm / sql_write.sql
ENGINE=MyISAM   를   ENGINE=InnoDB   로 변경
CHARSET=utf8   를   CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC   로 변경


11. 영카트5 / adm / shop_admin / configform.php  181줄 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


12. 영카트5 / adm / shop_admin / itemstocksms.php  24줄 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", true);  로 변경


13. 그누보드5 / adm / sms_admin / sms5.sql
ENGINE=MyISAM   를   ENGINE=InnoDB   로 변경
CHARSET=utf8   를   CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC   로 변경


14. 그누보드5 / install / gnuboard5.sql
ENGINE=MyISAM  를  ENGINE=InnoDB  로 변경
CHARSET=utf8   를   CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC   로 변경


15. 영카트5 / install / gnuboard5shop.sql
CHARSET=utf8   를   CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC   로 변경


16. 그누보드5 / install / install_db.php  78줄  ( 5.0~5.3.3.3  /  5.4 적용 )
sql_set_charset('utf8', $dblink);   를   sql_set_charset(G5_DB_CHARSET, $dblink);   로 변경


17. 그누보드5 / lib / common.lib.php  1820줄
$schema_create .= $crlf . ') ENGINE=MyISAM DEFAULT CHARSET=utf8';  를
$schema_create .= $crlf . ") ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ";  로 변경


18. 영카트5 / lib / shop.lib.php  2681줄
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);  를
) ENGINE=".G5_DB_ENGINE." DEFAULT CHARSET=".G5_DB_CHARSET." ", false);  로 변경


19. 그누보드5 / common.php  159줄  ( 5.0~5.3.3.3  /  5.4 적용 )
sql_set_charset('utf8', $connect_db);   를   sql_set_charset(G5_DB_CHARSET, $connect_db);   로 변경




여기부터 아미나빌더 관련 수정사항
https://www.happyjung.com/lecture/2504


참고자료
https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes 
http://ojava.tistory.com/25 
http://www.popit.kr/mysql-index-column-size-too-large-error/ 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 8개

유용한 정보 감사합니다
감사합니다. ^^
CHARSET=utf8 를 CHARSET=utf8mb4 로 변경
을 아래와 같이 변경하였습니다.
CHARSET=utf8 를 CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC 로 변경

참고자료 http://www.popit.kr/mysql-index-column-size-too-large-error/
정보 감사합니다.
감사합니다.
8년 전
정보 감사합니다.
감사합니다.
좋아요..잘쓰겠습니다.감사합니다.

게시글 목록

번호 제목
23254
23244
23241
23236
23200
23199
23179
23174
23138
23128
23125
23116
23109
23099
23092
23083
23079
23063
23050
23036
23029
23007
23003
22983
22959
22943
22939
22934
22905
22897