Невозможно установить lower_case_table_names в MySQL 8.x в Windows 10 - PullRequest
0 голосов
/ 09 октября 2018

В MySQL 8.0.12, работающем в Windows 10, кажется невозможным установить lower_case_table_names в 2, чтобы добиться появления смешанных регистров БД и имен таблиц в Workbench.Я понимаю, что под капотом эти объекты могут оставаться строчными, что нормально.Но я хочу, чтобы в Workbench все выглядело правильно, и я всегда мог добиться этого в предыдущих версиях MySQL.Когда я пытаюсь сделать это и перезапустить службу, чтобы она вступила в силу, служба падает и останавливается.В логах mysql я вижу это:

Различные настройки lower_case_table_names для сервера ('2') и словаря данных ('1').

Не удалось инициализировать словарь данных.

Это, похоже, общая проблема для многих людей.

Я прочитал здесь , чторешение:

Так что lower_case_table_names необходимо установить вместе с --initialize.

Но я понятия не имею, что это значит, или как установить его назапускать.Я погуглил и прочитал несколько статей на форуме, но не могу найти четких инструкций о том, как решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Я понял это.При установке MySQL Server 8.0.x необходимо выбрать Дополнительные параметры , чтобы вы могли получить доступ к этому экрану:

enter image description here

Затем вы выбираете Сохранить данный регистр , , который не является значением по умолчанию .Забавно, что MySQL скрывает и скрывает этот параметр в безвестности, а затем не предоставляет никаких возможных способов его изменения после установки. Им нужно это исправить !!

Имейте в виду, что вам может понадобиться добавить lower_case_table_names=2 в my.ini, в случае, если mysql удалит его.И вы можете получить ошибочное, бессмысленное предупреждение , как описано здесь .Я бы хотел, чтобы mysql исправлял их большие очевидные ошибки, с которыми все сталкиваются.

0 голосов
/ 12 октября 2018

8.0.11 changelog:

Запрещено запускать сервер с параметром lower_case_table_names, который отличается от параметра, используемого при инициализации сервера.Ограничение необходимо, потому что параметры сортировки, используемые полями таблицы словаря данных, основаны на настройке, определенной при инициализации сервера, и перезапуск сервера с другой настройкой привел бы к несоответствиям в отношении порядка и сравнения идентификаторов.(Ошибка № 27309094, Ошибка № 89035)

См. Также: https://bugs.mysql.com/bug.php?id=89035

By --initialized означает начальную установку версии 8.0.Как это было сделано?

...