Итак, я сбросил базу данных 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
, а затем повторно загрузите свои данные.