Переменная 'sql_mode' не может быть установлена ​​в значение 'NO_AUTO_CREATE_USER' - PullRequest
0 голосов
/ 14 мая 2018

Я использую MySQL Workbench 8.0. Я пытаюсь записать данные теста в БД, включая все таблицы, хранимые процедуры и представления с данными.

Когда я пытаюсь импортировать, он говорит, что импорт завершен с одной ошибкой, а ошибка

Переменная 'sql_mode' не может быть установлена ​​в значение 'NO_AUTO_CREATE_USER' Операция не выполнена с кодом выхода 1

Также после импорта, если я проверяю базу данных, пришли только таблицы, но нет хранимых процедур вообще.

Как можно это исправить?

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Я нашел обходной путь, если не решение.Используйте Linux, чтобы получить утилиту sed, и запустите две команды sed, как упоминалось в моем предыдущем комментарии.Также мне нужно было использовать опцию mysqldump: --set-gtid-purged=OFF

0 голосов
/ 06 июня 2018

У меня недавно тоже была эта проблема после экспорта моей базы данных из MySQL Workbench 6.1 CE и последующей попытки импортировать ее в более новую версию MySQL WorkBench 8.0.11. Каждый из них был установлен с помощью установщика сервера сообщества msi.

После некоторого поиска я наткнулся на этот отчет об ошибке на сайте MySQL: Дамп восстановления, созданный с 5.7.22 по 8.0.11

Что исправило для меня исправление, так это вручную просмотреть файл дампа и удалить операторы:

'NO_AUTO_CREATE_USER', расположенные над каждым из ваших стандартных дампов в файле дампа. Пример удаления изображения

После того, как я сделал это, я получил ошибку

ОШИБКА 1418 (HY000) в строке 318: эта функция не имеет ни DETERMINISTIC, ни SQL, ни READS SQL DATA в своем объявлении, и двоичное ведение журналов включено (вы могли бы захотеть использовать менее безопасные log_bin_trust_function_creators переменная)

Но после обращения к этому ответу на вопрос: Эта функция не имеет ни DETERMINISTIC, ни SQL, ни READS SQL DATA в своем объявлении, и двоичное ведение журнала включено и просто введите:

SET GLOBAL log_bin_trust_function_creators = 1;

в Клиент командной строки MySQL решил эту проблему и, наконец, позволил мне правильно импортировать мою базу данных со всеми сброшенными таблицами, данными, процедурами и функциями.

Надеюсь, это сэкономит время другим.

...