티스토리 뷰
부득이하게 mysql 5.7에서 mysql 5.5로 이전해야할일이 생겼는데
mysqldump후 복원을 하려니깐 다음과 같은 오류가 발생하더라고요
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
찾아보니 utf8mb4 를 사용할때 varchar(255)를 사용하면 데이터 범위를 초과해서 그렇더라고요
CREATE TABLE `users` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `builds_platform_unique` (`platform`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
이런식의 테이블이었거든요
다행히 innodb 설정을 바꿔서 가능한것 같더라고요
my.cnf에서 아래와 같이 설정을 변경하여 재실행합니다
[mysqld]
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_large_prefix=1
그렇다면 아래와 같이 설정된값을 확인하실수 있어요
mysql> show variables like 'innodb_lar%';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| innodb_large_prefix | ON |
+---------------------+-------+
mysql> show variables like 'innodb_file%';
+--------------------------+-----------+
| Variable_name | Value |
+--------------------------+-----------+
| innodb_file_format | Barracuda |
| innodb_file_format_check | ON |
| innodb_file_format_max | Barracuda |
| innodb_file_per_table | ON |
+--------------------------+-----------+
그리고 한가지를 더 해주셔야 되는데요
테이블 생성 구문에 ROW_FORMAT=DYNAMIC 또는 ROW_FORMAT=COMPRESSED 추가해주셔야해요
CREATE TABLE `users` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `builds_platform_unique` (`platform`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
이렇게 해서 다행히 이전을 완료하였습니다
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
xcode 11부터 빌드시 기본 modal presentation style이 변경됩니다 (0) | 2019.09.27 |
---|---|
애플 인앱(in-app purchase) 영수증 검증시 참고하면 좋은 (2) | 2019.09.26 |
UIWebView가 포함된 빌드를 올리면 앱스토어에서 오류가 발생합니다 (1) | 2019.09.16 |
facebook accountkit 대신에 firebase 전화번호인증을 사용해볼까 (0) | 2019.09.14 |
android 8이상에서 fcm이 정상적으로 동작하는지 확인해보세요 (0) | 2019.09.10 |
- Total
- Today
- Yesterday
- 구글
- CSS
- 창업
- 게임
- Apple
- 경진대회
- 애플
- 소프트웨어
- 아이폰
- iPhone
- 벤처
- 아이디어
- 스마트폰
- 어플리케이션
- 안드로이드
- 자바스크립트
- JavaScript
- 대학생
- AWS
- php
- 공모전
- 네이버
- 트위터
- 앱스토어
- android
- 웹표준
- 앱
- 모바일
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |