Как принудительно использовать имена таблиц, чувствительных к регистру?

Я работаю над базой данных MySQL в окнах.

Я должен переместить его в среду Linux. База данных MySQL содержит большое количество таблиц и хранимых процедур, которые CASE SENSITIVE.

Когда я создаю резервную копию моей базы данных, все имена таблиц принудительно строятся в нижнем регистре, поэтому, когда я восстанавливаю ее в Linux, она жалуется, потому что вы не можете создавать повторяющиеся таблицы и хранимые процедуры.

У меня нет доступа к конфигурации MySQL в среде linux, поэтому я не могу изменить настройки MySQL в режиме, нечувствительном к регистру.

Есть ли способ заставить MySQL (v5.x) использовать регистровые имена таблиц в окнах?

Ответ 2

Взгляните на эту статью - http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html

Режим 2 позволяет хранить таблицы с указанным буквенным строем, но в любом случае сопоставление имен не будет чувствительным к регистру, и вы не сможете одновременно хранить table1 и table1.

Ответ 3

В окнах поместите файл lower_case_table_names = 2 в конец файла C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

Ответ 4

К сожалению, нет способа заставить MySQL на Windows вести себя на 100%, как в Linux. Что вы можете сделать, это запустить минимальную виртуальную машину на Виртуальный блок или VMware плеер с TurnKey - устройство MySQL.

В моем личном опыте я нашел весьма полезным иметь виртуальную машину с конфигурацией, подобной среде развертывания, для диагностики проблем.

Ответ 6

Добавьте это свойство в lower_case_table_names = 2 до my.ini