2015-12-12 4 views
0

Есть ли способ отключить эту переменную во время сброса, без доступа к этой переменной? (Для бывших: AWS, например с доступом только для чтения)MySQL Dump - как отключить lowercase_table_names во время сброса, без доступа к переменной

Существует две таблицы с именем foo и FOO, которые создают проблему mysqldump: Got error: 1066: Not unique table/alias: 'foo

+0

Вам нужно отдельно выгрузить таблицы, а затем исправить схему базы данных. В общем случае все имена таблиц должны храниться в нижнем регистре. Причина в том, что сбрасывание смешанных имен имен приведет к огромным проблемам в файловых системах, которые не чувствительны к регистру, например, MS-Windows. Самым безопасным для предотвращения таких досадных проблем является придерживаться общего правила выше. – arkascha

+0

Таблица верхнего регистра была создана по ошибке, а переменная нижнего регистра - 0. Мы установили переменную в 1. Я пытаюсь удалить верхний регистр (FOO), но это фактически удалит (foo), так как переменная равна 1 ! – arunwithasmile

+0

Просто временно переименуйте одну из таблиц, чтобы получить свалку. Обращайте внимание на проблемы в импортированном экземпляре, которые вы контролируете. – pvg

ответ

0

Я сделал это демпинг каждую таблицу по отдельности. Странно, но помогло. Спасибо @arkascha за это.

0

Вы не найти имена таблиц под Linux MySQL, сог его по умолчанию чувствителен к регистру. А для окон его регистр нечувствителен.

Не могу догадаться, если вы игнорируете чувствительность к регистру. Но вы можете сделать, добавив строку в my.conf. то есть сделать mysql в linux нечувствительным к регистру.

mysqlserver:~# vi /etc/mysql/my.cnf 
... 
[mysqld] 
lower_case_table_names = 1 

Также в соответствии с соглашением об именах таблицы имя таблицы mysql должно быть в нижнем регистре.

http://www.toadworld.com/platforms/mysql/w/wiki/6103.naming-conventions

+0

Это файловые системы, чувствительные к регистру или не используемые в разных системах, а не сами системы. Простые механизмы хранения, такие как MyISAM, хранят таблицы в файлах, называемых рядом с именем таблицы, что затем приводит к проблемам. – arkascha

+0

У меня нет файла my.cnf. Это экземпляр amazon, и у меня нет доступа к переменным. – arunwithasmile

+0

в экземпляре amazon тоже есть мой.cnf. – Naruto