localhost phpmyadmin -> webserver phpmyadmin
오류
SQL 질의:
ALTER TABLE `rx_document_aliases`
ADD PRIMARY KEY (`alias_srl`),
ADD UNIQUE KEY `idx_module_title` (`module_srl`,`alias_title`),
ADD KEY `idx_module_srl` (`module_srl`),
ADD KEY `idx_document_srl` (`document_srl`),
ADD KEY `idx_alias_title` (`alias_title`(191))
#1709 - Index column size too large. The maximum column size is 767 bytes
로컬에서 phpmyadmin에서 sql 내보내기 해서
웹서버에 phpmyadmin으로 sql 가져오기 하는데
위와 같은 오류가 뜹니다.
저건 어떤 오류인가요?
\etc\mysql\mariadb.conf.d\50-server.cnf
# Read the manual for more InnoDB related options. There are many! default_storage_engine = InnoDB innodb_buffer_pool_size = 4G innodb_log_file_size = 2G innodb_log_buffer_size = 128M innodb_io_capacity = 10000 innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_file_per_table = 1 innodb_thread_concurrency = 0 innodb_read_io_threads = 8 innodb_write_io_threads = 8 innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT transaction_isolation = READ-COMMITTED
innodb mysql 설정은 위와 같습니다.
`alias_srl` bigint(20) NOT NULL DEFAULT 0,
`module_srl` bigint(20) NOT NULL DEFAULT 0,
`document_srl` bigint(20) NOT NULL DEFAULT 0,
`alias_title` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
row_format=dynamic 추가하니 되네요 ㅠㅠ
참조 : https://www.mynotes.kr/mysql%EC%97%90%EC%84%9C-index-column-size-too-large-%EC%97%90%EB%9F%AC-%EB%A9%94%EC%8B%9C%EC%A7%80%EC%97%90-%EB%8C%80%ED%95%9C-%EC%B2%98%EB%A6%AC/