MySQL Workbench无法加载mysql.proc
我开始使用MySQL Workbench工具,尤其是数据build模。 所以,我想要做的第一件事是在Web服务器上对我现有的数据库进行逆向工程。 但是我不能完成这个过程,因为我总是得到这个奇怪的错误信息:
Error: Cannot load from mysql.proc. The table is probably corrupted
我试图修复这个表,但它不能帮助我。 那么,你有没有这个问题的经验,并知道如何解决这个问题?
我在MAC上使用MySQL版本5.5.9。 我通过运行解决了这个问题:
mysql_upgrade -uroot -p
我使用MySQL通过MAMP Pro,凯文的答案不适合我。 是的,我不得不做一个MySQL升级,但我不得不在terminal上使用以下命令:
/Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh
这对我有效。 希望这可以帮助别人..
我在CentOS中使用了XAMPP,并手动升级了除现有数据文件夹之外的XAMPP。 随着MySQL和旧数据库文件的新服务器软件,我得到了同样的错误。
我用这个解决scheme,工作得很好:
cd /opt/lampp/bin ./mysql_upgrade -uroot -p
它遍历系统中的几乎所有表格,但是以固定的问题结束。
在Windows上,使用XAMPP,我设法通过转到目录来解决问题:
C:\xampp\mysql\bin
并运行你会在里面find的可执行文件mysql_upgrade.exe
,确保你的mysql服务器正在运行。
我在Mac上使用MAMP,并没有通过上面build议的命令行升级我的数据库,但它使用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工具都很开心,我也是如此。
如果这发生在特定的查询上,请注意,当您尝试使用未定义的函数时也会发生这种情况。
发生这种情况是由于不同服务器版本所需的架构更改。
mysql_upgrade -uroot -p
将提交问题。
有时您需要卸载服务器并清理其数据目录。 并重新安装以制作数据文件的全新副本。
使用MAMP PRO(版本2.2)我尝试了pmking的build议,但仍然无处可去。 所以我编辑了两个文件:/Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh
将“proot”改为“p”。 这将创build一个MySQL根密码的提示,它工作!
我希望能帮助别人。
在Debian 6上,MySQL 5.1.73-1(Debian),我有同样的问题,一个开始和停止帮助我。
/etc/init.d/mysql stop /etc/init.d/mysql start
不知道发生了什么,但是这个问题似乎在这个退出停止和开始后消失,只是想在这里添加它,以防其他人有同样的问题。
我正在使用Centos 6.5作为服务器的目的。 和ERR图的Mysql Workbench。 我得到了同样的错误。 上面的答案不适合我。
这个答案基于改变评论栏的数据types。 像魅力一样。
从控制台连接mysql。
use mysql; show create table mysql.proc;
然后find评论栏。 如果它的数据types是char,则改为text。
您也可以使用任何其他gui进行更改。
我得到这个错误,当我在一个连接的SQL查询语法错误。
我做了
JOIN shops ON s (...)
而不是正确的
JOIN shops s ON (...)
这个错误真的令人困惑,我不知道这与mysql.proc有什么关系,但修复查询解决了这个问题。 上述解决scheme没有一个明显的原因。
当架构中的更改需要不同版本的mysql服务器时,可能会发生这种情况。
要解决这个问题,请按照下面的代码行:
mysql_upgrade -uroot -p --force /usr/bin/mysql_upgrade -uroot -p --force
完整的发布细节将在这里find: 无法从mysql.proc加载。 该表可能已损坏
如果你是基于Unix的(比如Ubuntu),你可以试试这个:
sudo ./mysql_upgrade -uroot -p
像Bimalbuild议的那样。
我有完全相同的错误,解决scheme只是愚蠢的,所以我build议寻找简单的答案,才能开始升级的东西。 在我的情况下,问题是我做的:
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();
哇,我只是去C:\ xampp \ mysql \ bin并运行mysql_upgrade.exe
它修复自己,现在正在工作很好。
这应该做的伎俩:
mysql_upgrade -uroot -p --force
如果mysql不在shell的searchpath中,你可能需要指定命令的完整path。
在Debian 6上,它应该加载:
/usr/bin/mysql_upgrade -uroot -p --force
在Mac的MAMP上,默认path是:
/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加载。 该表可能已损坏