Назад | Перейти на главную страницу

Ошибка OpenShift / MySQL: ошибка lower_case_table_names при переходе с OS X на OpenShift

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

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

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

fc

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

MariaDB изменится lower_case_table_name от 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, а затем повторно загрузите свои данные.