Ответ 1
Легкая работа вокруг
При использовании Mysql Workbench 8.0
- Откройте вкладку "Экспорт данных"
- Нажмите Дополнительные параметры
- Под заголовком Другое установите статистику столбца в 0
- Экспорт снова
Удачи!
Начиная с MySQL 8 флаг column-statistics
включен по умолчанию.
Поэтому, если вы попытаетесь сбросить некоторые таблицы с помощью MySQL Workbench 8.0.12, вы получите это сообщение об ошибке:
14:50:22 Dumping db (table_name) Запуск: mysqldump.exe --defaults-file = "c:\users\username\appdata\local\temp\tmpvu0mxn.cnf" --user = db_user --host = db_host [ CN02] = tcp --port = 1337 --default-character-set = utf8 --skip-triggers "db_name" "table_name" mysqldump: Не удалось выполнить 'SELECT COLUMN_NAME, JSON_EXTRACT (HISTOGRAM,' $. "Число -buckets-defined "') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME =' db_name 'AND TABLE_NAME =' table_name ';': Неизвестная таблица 'COLUMN_STATISTICS' в information_schema (1109)
Операция завершилась неудачно с exitcode 2 14:50:24 Экспорт C:\path\to\my\dump завершился с 1 ошибкой
Есть ли способ в MySQL (Workbench) 8 отключить column-statistics
?
Раздражающее обходное решение делает это вручную:
mysqldump --column-statistics=0 --host=...
--column-statistics=0
в этом скриптеНапример, в MySQL Workbench: Изменить/Настройки.../Администрирование/Путь к средству mysqldump
Заранее спасибо!
Легкая работа вокруг
При использовании Mysql Workbench 8.0
Удачи!
Обходной путь для меня:
@echo off
"c:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump.exe" %* --column-statistics=0
(при необходимости замените путь к mysqldump.exe)
Идея такова: каждая версия сервера имеет выделенную версию mysqldump. Не идеальна и, конечно, не очень обратная совместимость, но эта ситуация. MySQL Workbench может включать только один двоичный файл mysqldump, поэтому используется последний. Подход к загрузке MySQL 5.7 zip и использование mysqldump отсюда - хорошее обходное решение без многих побочных эффектов. Вам нужно только быть осторожным, какой сервер вы сбрасываете, с какой дамп-версией.
Если вам нравится, чтобы этот флаг статистики столбца автоматически применялся MySQL Workbench, пожалуйста, напишите отчет об ошибке на странице https://bugs.mysql.com.
Обновить
Тем временем для этой проблемы был создан отчет об ошибке: https://bugs.mysql.com/bug.php?id=91640
Загрузите последнюю версию Mysql Workbench 8.0.16 и больше никаких проблем.
https://dev.mysql.com/downloads/workbench/
Нет возможности проверить!
Может быть другой обходной путь, если вы используете ОС, которая поддерживает mysqldump (то есть Linux). Задайте путь к двоичному файлу mysqldump в настройках и включите в путь аргумент --column-statistics = 0 в: Редактировать >> Предпочтения >> Администрирование >> Путь к инструменту MysqlDump
Я скачал версию 8.0.16, все та же проблема.
При расширенных параметрах экспорта данных я не видел ни одной опции о "статистике"! Я добавил на my.ini в
[mysqldump]
quick
max_allowed_packet = 16M
column-statistics=0
Не решает проблему
Я гуглил, но не смог найти решение. Я нахожу товарищей, которые борются с этим, но не кто-нибудь с решением, по крайней мере для меня.
В конце я изменил в MySQL Workbench файл c:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules\wb_admin_export.py:
skip_column_statistics = True #if get_mysqldump_version() > Version(8, 0, 2) and self.owner.ctrl_be.target_version < Version(8, 0, 0) else False
Я сделал комментарий
if get_mysqldump...
Я знаю, что это не тот путь, но я не могу сейчас найти другое лучшее решение. Для меня это как минимум странно и странно. Если у кого-то есть лучшее решение, дайте мне знать!
Хорошо, теперь я вижу другой поток, и это решение. Это работает и для версии 8.0.16! (Прокрутите вниз до последнего поста! Ответ Дина Ор)
Удачи.
ПОЛЬЗОВАТЕЛИ WINDOWS
У меня есть MySQL Workbench 8.0CE и Xampp v3.2.3, и это сработало для меня:
[mysqldump]
quick
max_allowed_packet = 16M
column-statistics = 0
Сохраните и закройте, перезагрузите сервер xampp mysql. (так, на всякий случай)
в Workbench: " Правка"> "Настройки"> "Администрирование"
В моем маршруте Mysqldump укажите ваш маршрут mysqldump для xampp, в моем случае:
C:\xampp\mysql\bin\mysqldump.exe
Это сработало для меня!