Подтвердить что ты не робот

MySQL Workbench не может загрузить mysql.proc

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

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

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

4b9b3361

Ответ 1

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

mysql_upgrade -uroot -p

Ответ 2

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

Это происходит из-за изменений схемы, требуемых для разных версий сервера.

mysql_upgrade -uroot -p

будет filx проблема.

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

Ответ 8

Используя MAMP PRO (версия 2.2), я попробовал предложение pmking и все еще ничего не получал. Поэтому я отредактировал два файла: /Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh

изменение "proot" на "p" в каждом. Это создает подсказку для пароля root MySQL, и это сработало!

Я надеюсь, что это поможет кому-то другому.

Ответ 9

на debian 6, MySQL 5.1.73-1 (Debian), у меня была та же проблема, и начало и остановка помогли мне.

/etc/init.d/mysql stop
/etc/init.d/mysql start

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

Ответ 10

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

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

Соедините mysql с консолью.

use mysql;
show create table mysql.proc;

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

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

Ответ 11

Это должно сделать трюк:

mysql_upgrade -uroot -p --force

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

В Debian 6 он должен быть загружен:

/usr/bin/mysql_upgrade -uroot -p --force

В Mac MAMP путь по умолчанию:

/Applications/MAMP/Library/bin/mysql_upgrade -uroot -p --force

В Windows это будет где MySQL установлен и содержится в подкаталоге bin. По умолчанию он должен быть расположен по адресу:

"C:\Program Files\MySQL\MySQL Server\[*CHANGE TO MySQL SERVER*]\bin\mysqladmin" -u root shutdown

Исходный ресурс: Как разрешить код ошибки MySQL: 1548 Не удается загрузить из mysql.proc. Вероятно, таблица повреждена

Ответ 12

Я получил эту ошибку, когда у меня была синтаксическая ошибка в моем SQL-запросе в соединении.

Я сделал

JOIN shops ON s (...)

вместо правильного

JOIN shops s ON (...)

Эта ошибка была действительно запутанной, я не знаю, что это связано с mysql.proc, но исправление запроса устранило проблему. Ни одно из вышеперечисленных решений не работало по очевидным причинам.

Ответ 13

Это, вероятно, происходит, когда изменения в схеме требуют разных версий сервера mysql.

Чтобы исправить это, следуйте строке ниже:

mysql_upgrade -uroot -p --force

/usr/bin/mysql_upgrade -uroot -p --force

Подробная информация о сообщении вы найдете здесь: Невозможно загрузить из mysql.proc. Вероятно, таблица повреждена

Ответ 14

если вы используете Unix (например, Ubuntu), вы можете попробовать следующее:

sudo ./mysql_upgrade -uroot -p

как предложил Bimal.

Ответ 15

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

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();

Ответ 16

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

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