2014-01-10 2 views
2

Я хотел бы экспортировать экземпляр RADA Amazon MySQL на мой собственный сервер под управлением MySQL. Я успешно сбрасывали базу данных и воссоздал пользователей на новую базу данных, но когда я иду, чтобы импортировать дамп-файла, я получаю:Amazon RDS для пользовательского MySQL Server InnoDB Размер ключа

ERROR 1071 (42000) at line 25: Specified key was too long; max key length is 767 bytes 

Некоторые Googling показало, что InnoDB имеет максимальный размер ключа 767. Оказывается, что мы использовали следующие параметры в RDS:

innodb_large_prefix=on 
innodb_file_format=barracuda 
innodb_file_per_table=true 
log_bin_trust_function_creators=1 

Я добавил эти варианты my.cnf, но я получил то же самое сообщение об ошибке. Затем я прочитал, что innodb_large_prefix работает только с таблицами с ROW_TYPE = DYNAMIC. Оказалось, что мы использовали динамические строки в RDS, но эти строки не создавались как DYNAMIC в файле дампа. Затем я нашел сообщение StackOverflow, которое добавило параметр ROW_TYPE = DYNAMIC в файл дампа: Force row_format on mysqldump

И все же я все равно получаю такое же сообщение об ошибке. Идеи?

ответ

1

Я считаю, что это проблема с кодировкой. Если latin1 использовался в RDS, но UTF-8 в вашей среде, а затем проиндексирована VARCHAR (256), является проблемой.

Потому что в UTF-8 VARCHAR (256) становится VARCHAR (768) внутри.

+0

Это была наша ситуация. –

Смежные вопросы