MySQL Workbench не может загрузить mysql.proc - PullRequest
48 голосов
/ 22 июля 2011

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

Error: Cannot load from mysql.proc. The table is probably corrupted

Я пытался восстановить эту таблицу, но это не помогло мне.Итак, есть ли у вас опыт решения этой проблемы и знаете, как ее решить?

Ответы [ 16 ]

91 голосов
/ 29 июля 2011

Я использую MySQL версии 5.5.9 на MAC. Я исправил эту проблему, запустив:

mysql_upgrade -uroot -p
11 голосов
/ 28 ноября 2012

Я использую MySQL через MAMP Pro, и ответ Кевина мне не помог.Да, я должен был сделать обновление mysql НО мне пришлось использовать следующие команды в Терминале:

/Applications/MAMP/bin/repairMysql.sh
/Applications/MAMP/bin/upgradeMysql.sh

Это сработало для меня.Надеюсь, что это может быть полезно для кого-то еще ..

4 голосов
/ 14 мая 2013

Я использовал XAMPP в CentOS и вручную обновил XAMPP, за исключением существующей папки данных.С новым серверным программным обеспечением MySQL и старыми файлами баз данных я получил ту же ошибку.

Я сделал с этим решением и работал нормально:

cd /opt/lampp/bin
./mysql_upgrade -uroot -p

Он прошел по всем таблицам всистема, но закончилась с исправленной проблемой.

2 голосов
/ 20 декабря 2015

В Windows с помощью XAMPP мне удалось решить проблему, перейдя в каталог:

C:\xampp\mysql\bin и запустив исполняемый файл mysql_upgrade.exe, который вы найдете внутри, убедитесь, что ваш сервер MySQL работает.

1 голос
/ 16 ноября 2016

Если это происходит с конкретным запросом, имейте в виду, что это также может произойти при попытке использовать неопределенную функцию.

1 голос
/ 24 марта 2015

Я использую Centos 6.5 для серверных целей.И Mysql Workbench для ERR-диаграммы.Я получил ту же ошибку.Ответы выше не сработали для меня.

Этот ответ основан на изменении типа данных для столбца комментариев.И работает как шарм.

Подключите mysql из консоли.

use mysql;
show create table mysql.proc;

Затем найдите комментарий столбец.Если это тип данных char, измените на текст.

Вы также можете использовать любой другой графический интерфейс для внесения изменений.

1 голос
/ 07 ноября 2013

Я использую MAMP на Mac и не смог обновить мои базы данных через командную строку, как предложено выше, но это работало, когда я использовал опции меню MAMP PRO-> TOOLS (вверху экрана OS X) для «Проверить», «Восстановить» и «Обновление» баз данных.

Я предполагаю, что графический интерфейс предоставляет базовые инструменты CLI с необходимыми параметрами, чтобы вам не приходилось думать о том, какими должны быть эти параметры (в отличие от запуска инструментов CLI вручную).

Обновление моего MAMP таким образом (с помощью инструментов GUI MAMP PRO) сделало мое (отдельное) приложение Oracle mysqlWorkbench 6.0 очень хорошо работающим с моими локальными базами данных MAMP PRO 2.0.5 на OS X 10.8.5 (Mountain Lion), который mysqlworkbench Раньше я говорил, что они были повреждены (но, как ни странно, phpmyadmin из MAMP отлично с ними работал). Теперь и mysqlWorkbench 6.0, и инструменты phpmyadmin MAMP PRO оба счастливы, и я тоже.

0 голосов
/ 05 июля 2016

Ух, я просто захожу в C: \ xampp \ mysql \ bin и запускаю mysql_upgrade.exe

Он восстанавливается сам, и теперь все работает отлично.

0 голосов
/ 14 апреля 2016

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

COUNT (id) AS quantity ... # Fails: notice space between COUNT and (

где следует читать

COUNT(id) AS quantity ... # Works: notice no space between COUNT and (

Это происходит, когда вы не используете фреймворк, вы можете (должны) сделать что-то вроде этого, в данном случае с помощью Laravel 5:

$users = DB::table('users')->count();
0 голосов
/ 10 ноября 2015

если вы работаете на Unix (например, Ubuntu), вы можете попробовать это:

sudo ./mysql_upgrade -uroot -p

как предложил Бимал.

...