Ошибка OpenShift/MySQL: ошибка lower_case_table_names при миграции с OS X на OpenShift

Ошибка OpenShift/MySQL: ошибка lower_case_table_names при миграции с OS X на OpenShift

Итак, я выгрузил базу данных MySQL 5.x из экземпляра OS X и у меня возникли проблемы с импортом базы данных в контейнер OpenShift MySQL 5.5. Мои таблицы в Camel-case (например, "tblAccounts"), но скрипт выдает ошибки типа "не удается найти таблицу tblaccounts".

Я считаю, что флаг MySQL lower_case_table_names установлен на 2 в OS X. И мне удалось выполнить команду rhc set env, чтобы изменить эту переменную с 0 на 2 в OpenShift. Я продолжаю получать ошибку об отсутствующей таблице.

Я пробовал несколько комбинаций этого флага и пытался перезагрузить базу данных из скриптов, созданных с помощью mysqldump и MySQL Workbench, и я не нашел чистого подхода, при котором эта ошибка не появляется. У меня заканчиваются идеи, как сделать это чисто. Есть предложения? Спасибо,

фк

решение1

Я знаю, что это немного поздно, но для тех, у кого тоже возникла такая проблема.

lower_case_table_nameЕсли MariaDB обнаружит, что она находится в файловой системе, чувствительной к регистру, при запуске она изменится с 2 на 0:

[Warning] lower_case_table_names was set to 2, even though your the file system '/var/lib/mysql/' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems.

Я предполагаю, что mysql делает то же самое (поскольку он является ответвлением).

Вы можете установить его на 1, и он будет работать, однако. Для меня (также мигрирующего с MacOS), я смог сделать это после того, как я загрузил свои базы данных. и это работало нормально ... но это, кажется, противоречит документации относительно разницы между 1и 2. Если mysql не устраивает это, вам, возможно, придется очистить свою базу данных, установить его на 1, а затем повторно загрузить свои данные.

Связанный контент