Как сделать имя таблицы MySQL нечувствительным к регистру в Ubuntu?

44

Я использую Ubuntu 13.10 и MySQL 5.6 и знаю, что имя базы данных и имя таблицы чувствительны к регистру в Ubuntu (и некоторых других средах * nix) по умолчанию.

Теперь я хочу, чтобы MySQL работал без учета регистра в Ubuntu.

Является ли это возможным? Если да, как я могу это сделать?

Али Разеги
источник

Ответы:

51

Откройте терминал и отредактируйте /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

Под [mysqld]section.add:

lower_case_table_names = 1

Перезапустите MySQL

sudo /etc/init.d/mysql restart

Тогда проверьте это здесь:

mysqladmin -u root -p variables
Раджниш Шарма
источник
2
Вы должны добавить этот раздел, если он недоступен. В противном случае перезапуск не удастся.
александр
10

Если вы изменяете lower_case_table_namesв БД с существующими таблицами, MySQL> Table не существует. Но это может произойти (или должно произойти).

Комментарий к этому ответу помог мне в этом случае:

Я вернул значение, перезапустил базу данных, экспортировал таблицы, установил значение обратно в 1, перезапустил базу данных, повторно импортировал таблицы и все снова заработало.

Г.Брозер говорит восстановить Монику
источник
5

Эта проблема причиняла мне боль, когда Doctrine генерировала имена таблиц прописных / CamelCase, а MySQL сохранял их в нижнем регистре!

Это было решено путем изменения my.cnfи добавления

lower_case_table_names = 1

в разделе [mysqld]

my.cnf можно найти:

  • под LAMPP / XAMPP ...:

    /opt/lampp/etc/my.cnf

  • автономный сервер MySQL:

    /etc/mysql/my.cnf

После перезапустите сервер MySQL, и все будет хорошо.

Дорид Абдаллах
источник