Не могу экспортировать мою базу данных из mysql workbench

Я пытаюсь экспортировать свою базу данных из MySQL Workbench, но в процессе экспорта получаю следующее:

Running: mysqldump.exe --defaults-file = "c:\users\user\appdata\local\temp\tmp2h91wa.cnf" --user=root --host=localhost --protocol=tcp --port=3306 --default-character-set=utf8 --skip-triggers "mydb" mysqldump: Couldn't execute 'SELECT COLUMN_NAME,
JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"')
FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'mydb' AND TABLE_NAME = 'courses';': Unknown table 'column_statistics' in information_schema (1109)

Operation failed with exitcode 2 20:55:09 Export of C:\Users\user\Documents\dumps\mydb.sql has finished with 1 errors

Похоже, это проблема с новым MySQL Workbench (8.x), пытающимся выполнить экспорт из более ранних версий баз данных MySQL (5.x). У меня такая же проблема, и я не вижу решения в инструменте MySQL Workbench. Кажется, нет возможности установить column_statistics в 0 в графическом интерфейсе. bugs.mysql.com/bug.php?id=89825.

Travelling Steve 27.06.2018 22:13

Похоже исправлено в версии - 8.0.17

Scofield 21.08.2019 13:27

Кажется, эта ошибка исправлена ​​в Workbench 8.0.20, по крайней мере, обновление Workbench в Ubuntu 20.04 устранило ошибку для меня.

jockef 30.04.2020 13:25
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
49
3
74 112
15
Перейти к ответу Данный вопрос помечен как решенный

Ответы 15

У меня была такая же проблема 5 минут назад.

Я исправил это, добавив в свой mysqldump команду --column-statistics=0. Сделайте это, и это должно сработать.

В моем случае это задача phing, но вы должны уловить идею.

Это связано с флагом, который по умолчанию включен в mysqldump 8.

Это можно отключить, добавив --column-statistics=0.

Синтаксис:

mysqldump --column-statistics=0 --host=<server> --user <user> --password <securepass> 

Для получения дополнительной информации перейдите на эта ссылка.

Чтобы отключить статистику столбца по умолчанию, вы можете добавить:

[mysqldump]
column-statistics=0

в файл конфигурации MySQL, например /etc/my.cnf или ~/.my.cnf.

Спасатель жизни! Спасибо :)

Alex Morris 04.03.2020 00:24

Это лучшее решение, если вы используете mysqldump для резервного копирования базы данных и выскакивает ошибка.

Tuhin 18.01.2021 17:00
Ответ принят как подходящий

В MySql Workbench версии 8.0.13 выполните следующие действия:

  1. Перейти в Управление / Экспорт данных
  2. Выберите схему для экспорта в списке "Таблицы для экспорта".
  3. Нажмите кнопку "Дополнительные параметры ..." (вверху справа).
  4. Найдите параметр "Другое / статистика-столбец".
  5. Установите значение 0
  6. Нажмите кнопку "Вернуться" (вверху справа).

Теперь должно работать. К сожалению, вам придется делать это каждый раз при запуске MySql Workbench.

Это должен быть принятый ответ. У меня это сработало. Он также упоминается в Трекер ошибок MySQL.

ThatGuyRob 13.11.2018 00:25

В моем Workbench нет этой опции, возможно, потому, что рабочая база данных находится в версии 5.x, а я использую 8.x. Есть ли способ активировать что-то вроде режима совместимости между mysqldump.exe 8.x и MySQL Server 5.x?

Douglas Ferreira 07.03.2019 20:05

Похоже, в последних версиях такой возможности нет. Проблема с отслеживанием ошибок, о которой упоминает ThatGuyRob, говорит о том, что они добавили всплывающее предупреждение с инструкциями о том, как это исправить, что описано в ответе Артема.

rooby 03.04.2019 05:22

Как объясняется в этот другой отчет об ошибке MySQL, эта проблема для WorkBench 8.0.14 и 8.0.15 будет исправлена ​​в версии 8.0.16.

Veve 24.04.2019 16:14

Как описано в @Veve, это не исправленная проблема. В Mac моим решением было понизить версию WorkBench до версии v.6.3.10, и она работает нормально, мне нужна эта помощь.

hermeslm 16.09.2019 18:03

Это еще один обходной путь, если вы не видите пункт меню «Другое / статистика столбца»: stackoverflow.com/a/55121256/914352

NMrt 29.01.2020 07:14

В качестве еще одного обходного пути для новых версий Workbench вы можете легко применить этот патч serverfault.com/a/1015459

Juanan 14.10.2020 19:42

Тоже столкнулся с этой проблемой. Решили так: В меню Workbench перейдите к:

Изменить - Настройки - Администрирование

В поле «Путь к инструменту mysqldump» прописываем путь к mysqldump.exe, в моем случае «C: \ Program Files \ MySQL \ Сервер MySQL 5.7 \ bin \ mysqldump.exe» нажимаем ОК.

После этого ошибка больше не появлялась.

Теперь это правильный ответ, основанный на том факте, что он соответствует инструкциям, которые были добавлены во всплывающее предупреждение, которое вы получаете при попытке выполнить экспорт, которое было добавлено в MySQL Workbench 8.0.13.

rooby 03.04.2019 05:19

Для меня это было в 'C: \ Program Files \ MySQL \ MySQL Workbench 8.0 CE \ mysqldump.exe'. Однако это не устранило мою ошибку.

Jeremy Taylor 19.05.2020 23:18

это исправило ошибку для меня, путь - это место, где вы установили "mysql / bin / mysqldump.exe"

bvk 22.12.2020 08:05

отличное решение

Veerendar Chary Munigadapa 01.03.2021 12:27

У меня тоже была такая же проблема. Я могу решить эту проблему, отключив статистику столбцов в расширенных параметрах экспорта данных MySQL Workbench.

1: Нажмите на дополнительные параметры:

2: В другом разделе для статистики столбца удалите ИСТИНА и установите для него значение 0, чтобы отключить его.

Теперь верните и экспортируйте данные. Спасибо

У меня была такая же проблема, и я решил ее так:

отредактируйте настройки верстака: Правка -> Настройки -> Администрирование

в свойстве "Путь к mysqldump Tool" укажите путь к вашему mysqldump.exe Обычно он находится в "C: \ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqldump.exe".

Ошибка по-прежнему в Workbench 8.0.16.

Исправить:

Вы можете редактировать wb_admin_export.py в модулях в программном каталоге рабочей среды. Найдите «skip_column_statistics = True» (вы найдете условное выражение, не беспокойтесь), прокомментируйте эту строку и добавьте строку «skip_column_statistics = True» (без условного).

Обязательный параметр теперь будет всегда добавляться.

У меня это сработало в версии 8.0.22, но очень удивительно, что это сработало только тогда, когда я отредактировал саму существующую строку. Когда я сделал дубликат и отредактировал дубликат (с комментариями к исходному), Workbench ничего не отображал в навигаторе (левая боковая панель). Странное поведение, ничего не помогло, кроме редактирования исходной строки. Я подозреваю, что Workbench по какой-то причине анализирует свои собственные файлы .py и задыхается, когда неожиданным образом находит свои переменные, даже если это в комментарии.

TXN 27.11.2020 23:45

Перейдите в C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules, откройте этот файл wb_admin_export.py и раскомментируйте «--column-statistics=0», затем перезапустите рабочую среду.

не вижу ни одного комментария --column-statistics=0 к этому файлу

Michel Feinstein 08.11.2019 20:35

Я нашел это состояние в wb_admin_export.py вместо прокомментированного --column-statistics=0. вы можете удалить условие else False или изменить его на else True.

skip_column_statistics = True if get_mysqldump_version() > Version(8,
0, 2) and self.owner.ctrl_be.target_version < Version(8, 0, 0) else
True

Подводя итог тому, что я сделал из полезных комментариев @JustinLaureno и @ Mohd.Shaizad, протестированных на MySQL Workbench 8.0.18:

  • Перейдите к 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
  • к:
skip_column_statistics = True
  • НЕ добавьте встроенные комментарии или это не сработает!
 skip_column_statistics = True # This won't work
  • Перезапустите MySQL Workbench
  • Выполните экспорт

у меня нет skip_column_statistics im с использованием MySql workbench 8.0 CE

draw134 28.05.2020 17:15

Отлично, как бы мы это сделали на Mac? Где мы можем найти этот файл ... кто-нибудь знает?

Christopher Smit 28.09.2020 18:59

исправлена ​​моя проблема при работе в Workbench версии 8.0.23 с Windows.

Michael Staples 09.04.2021 10:09

в версии 8 я изменил "wb_admin_export.py" и перезапустил рабочую среду. работает для меня

def start(self):
.
.
.
    title = "Dumping " + schema
    title += " (%s)" % table
    # description, object_count, pipe_factory, extra_args, objects
    args = []
    args.append('--column-statistics=0')
class ViewsRoutinesEventsDumpData(DumpThread.TaskData):
    def __init__(self, schema, views, args, make_pipe):
        title = "Dumping " + schema + " views and/or routines and/or events"
        if not views:
           extra_args = ["--no-create-info"]
        else:
            extra_args = []
        DumpThread.TaskData.__init__(self,title, len(views), ["--skip-triggers", " --no-data" ," --no-create-db", "--column-statistics=0"] + extra_args + args, [schema] + views, None, make_pipe)```

это для MacOS wb_admin_export.py найдено @ /Applications/MySQLWorkbench.app/Contents/Resources/plugins

chunkiat 19.06.2020 16:18

Вы можете использовать собственный MySQL Workbench «Мастер миграции» для переноса данных без ошибок. Его можно найти в меню База данных -> Мастер миграции Он может передавать данные "онлайн", но я не нашел возможности создать с его помощью файл дампа. Это довольно хорошее решение для миграций

В Mysql-workbench версии 8.0.14 у вас нет возможности отключить столбец-статистика.

Но у вас есть возможность сделать это с помощью включение удаления-мастер-логов:Mysql-workbench версии 8.0.22

  • --delete-master-logs имеет тот же эффект, что и SQL-команда "СБРОС МАСТЕР"
  • СБРОС МАСТЕРА удаляет все двоичные файлы журнала, перечисленные в индексном файле, сбрасывает двоичный индексный файл журнала, чтобы он был пустым, и создает новый двоичный файл журнала. Этот оператор предназначен для использования только при первом запуске мастера.

Запуск: mysqldump --defaults-file = "/ tmp / tmp5c5ww33n / extraparams.cnf" --host = xxxx --port = 3307 --default-character-set = utf8 --user = admin --protocol = tcp - delete-master-logs = TRUE --skip-triggers "fedena" mysqldump: Не удалось выполнить 'SELECT COLUMN_NAME, .................. Операция завершилась неудачно с кодом выхода 2 Экспорт b '/ home / sanaulla / dumps / Dump20210331.sql' завершился с 1 ошибкой

Sanaulla 31.03.2021 10:58

Я столкнулся с той же проблемой с последней версией MySQL workbench, я решил ее с помощью командной строки mysqldump

C:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump --column-statistics=0  --user=USERNAME --host=REMOTE_HOST --protocol=tcp --port=3306 --default-character-set=utf8 DATABASE_NAME > c:\temp\dump.sql --password

Замените USERNAME, REMOTE_HOST, DATABASE_NAME своими именами.

На MACOS просто перейдите на версию 8.0.13, это единственное, что помогло нам.

Следующая ссылка может помочь

https://downloads.mysql.com/archives/workbench/

MacOS MySQL Work Bench 8.0.13

Если вы используете SSH-ключ для доступа к удаленной базе данных, сделайте следующее:

Шаг 1

brew install putty

Шаг 2

puttygen id_rsa -O private-openssh -o id_rsa.pem

Шаг 3 - в рабочей среде MySQL

SSH Key File: /Users/local/.ssh/id_rsa.pem

Надеюсь, это поможет кому-то, потому что потратил 3 часа нашего времени зря :)

Другие вопросы по теме