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