MySQL Workbench无法加载mysql.proc

时间:2011-07-22 11:34:15

标签: mysql mysql-workbench

我开始使用MySQL Workbench工具,特别是用于数据建模。所以,我想要做的第一件事就是在Web服务器上对现有数据库进行逆向工程。但是我无法完成这个过程,因为我总是得到这个奇怪的错误信息:

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

我试图修复这张桌子,但它对我没有帮助。那么,你对这个问题有什么经验并知道如何解决它吗?

14 个答案:

答案 0 :(得分:91)

我在MAC上使用MySQL版本5.5.9。我通过运行:

解决了这个问题
mysql_upgrade -uroot -p

答案 1 :(得分:11)

我正在使用MySQL通过MAMP Pro,而凯文的回答对我不起作用。 是的,我必须做 mysql升级 但是我必须在终端上使用以下命令:

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

这对我有用。 希望这对其他人有帮助..

答案 2 :(得分:4)

我在CentOS中使用了XAMPP并手动升级了除现有数据文件夹之外的XAMPP。 使用MySQL的新服务器软件和旧的数据库文件,我得到了同样的错误。

我使用此解决方案并且运行良好:

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

它几乎遍历了系统中的所有表格,但以固定的问题结束。

答案 3 :(得分:1)

我在mac上使用MAMP并且无法通过命令行升级我的数据库,如上所述,但是当我使用MAMP PRO-> TOOLS菜单选项(OS X屏幕顶部)来“检查”,“修复”时它工作了'和'升级'数据库。

我认为GUI为底层CLI工具提供了必要的选项,因此您不必考虑这些选项需要做什么(而不是手动运行CLI工具)。

以这种方式升级我的MAMP(通过MAMP PRO的GUI工具)使我的(单独)Oracle mysqlWorkbench 6.0应用程序与OS X 10.8.5(Mountain Lion)上的本地MAMP PRO 2.0.5数据库一起工作,mysqlworkbench曾经说过以前是腐败的(但是MAMP的phpmyadmin对他们很好,而他们是“腐败的”,好奇)。现在,mysqlWorkbench 6.0和MAMP PRO的phpmyadmin工具都很开心,我也是。

答案 4 :(得分:1)

我正在将Centos 6.5用于服务器目的。和Mysql Workbench for ERR Diagram。我得到了同样的错误。上面的答案对我不起作用。

此答案基于更改评论列的数据类型。和魅力一样。

从控制台连接mysql。

use mysql;
show create table mysql.proc;

然后查找评论列。如果它的数据类型为char,请更改为文本。

您还可以使用任何其他gui进行更改。

答案 5 :(得分:1)

如果在特定查询中发生这种情况,请注意当您尝试使用未定义的函数时也会发生这种情况。

答案 6 :(得分:0)

这是由于不同服务器版本所需的架构更改而发生的。

mysql_upgrade -uroot -p

将解决问题。

有时您需要卸载服务器并清理其数据目录。并重新安装以制作数据文件的新副本。

答案 7 :(得分:0)

使用MAMP PRO(2.2版)我尝试了pmking的建议,但仍然无处可去。所以我编辑了两个文件: /Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh

在每个中将'proot'更改为'p'。这会创建一个MySQL root密码的提示,并且它有效!

我希望能帮到别人。

答案 8 :(得分:0)

在debian 6,MySQL 5.1.73-1(Debian)上,我遇到了同样的问题,启动和停止帮助了我。

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

不确定会发生什么,但问题似乎在此戒烟并开始后消失,只是想在此处添加,以防其他人遇到同样的问题。

答案 9 :(得分:0)

这应该可以解决问题:

mysql_upgrade -uroot -p --force

如果 mysql 它不在shell的搜索路径中,您可能需要指定命令的完整路径。

在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

原始资源:How to Resolve MySQL Error Code: 1548 Cannot load from mysql.proc. The table is probably corrupted

答案 10 :(得分:0)

当架构中的更改需要不同版本的mysql服务器时,可能会发生这种情况。

要解决此问题,请按以下代码行执行:

mysql_upgrade -uroot -p --force

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

帖子的完整详情可在此处找到:Cannot load from mysql.proc. The table is probably corrupted

答案 11 :(得分:0)

如果你是基于Unix的(如Ubuntu),你可以试试这个:

sudo ./mysql_upgrade -uroot -p
像Bimal建议的那样。

答案 12 :(得分:0)

我有完全相同的错误,解决方案只是愚蠢,所以我建议在开始升级之前寻找简单的答案。在我的特殊情况下,问题是我做了:

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

答案 13 :(得分:0)

哇,我只是去C:\ xampp \ mysql \ bin并运行mysql_upgrade.exe

它自我修复,现在正在努力工作。