그누보드 [G5] InnoDB & utf8mb4 사용하기
페이지 정보
본문
2017-08-22 새로운 정보가 확인되어 팁을 수정했습니다.
2021-06-16 adm / dbupgrade.php 에 수정사항 추가
2021-06-16 그누보드(영카드) 5.4.5.1 기준
2021-05-23 install / gnuboard5.sql , gnuboard5shop.sql 수정
그누보드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 로 변경
15. 영카트5 / install / gnuboard5shop.sql
ENGINE=MyISAM 를 ENGINE=InnoDB 로 변경
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/
2021-06-16 adm / dbupgrade.php 에 수정사항 추가
2021-06-16 그누보드(영카드) 5.4.5.1 기준
2021-05-23 install / gnuboard5.sql , gnuboard5shop.sql 수정
그누보드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 로 변경
15. 영카트5 / install / gnuboard5shop.sql
ENGINE=MyISAM 를 ENGINE=InnoDB 로 변경
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/
댓글목록
등록된 댓글이 없습니다.