MySQL工作台无法加载MySQL.proc
我开始使用MySQL工作台工具,特别是用于数据建模。所以,我想做的第一件事是在web服务器上对现有数据库进行反向工程。但我无法完成这个过程,因为我总是收到这样一条奇怪的错误消息:MySQL工作台无法加载MySQL.proc,mysql,mysql-workbench,Mysql,Mysql Workbench,我开始使用MySQL工作台工具,特别是用于数据建模。所以,我想做的第一件事是在web服务器上对现有数据库进行反向工程。但我无法完成这个过程,因为我总是收到这样一条奇怪的错误消息: Error: Cannot load from mysql.proc. The table is probably corrupted 我试着修这张桌子,但没有用。那么,你对这个问题有经验并知道如何解决它吗?我在MAC上使用的是MySQL 5.5.9版。我通过运行以下命令修复了此问题: mysql_upgrade -
Error: Cannot load from mysql.proc. The table is probably corrupted
我试着修这张桌子,但没有用。那么,你对这个问题有经验并知道如何解决它吗?我在MAC上使用的是MySQL 5.5.9版。我通过运行以下命令修复了此问题:
mysql_upgrade -uroot -p
我使用的是MySQL的MAMP Pro,Kevin的答案对我来说并不适用。 是的,我必须升级mysql,但我必须在终端上使用以下命令:
/Applications/MAMP/bin/repairMysql.sh
/Applications/MAMP/bin/upgradeMysql.sh
这对我有用。
希望这能对其他人有所帮助。我在CentOS中使用了XAMPP,并手动升级了XAMPP(现有数据文件夹除外)。 使用新的MySQL服务器软件和旧的数据库文件,我得到了同样的错误 我使用了这个解决方案,效果很好:
cd /opt/lampp/bin
./mysql_upgrade -uroot -p
它几乎在系统中的所有表中循环,但以一个固定的问题结束。这是由于不同服务器版本需要更改架构造成的
mysql_upgrade -uroot -p
威尔·菲克斯会解决这个问题的
有时您需要卸载服务器并清理其数据目录。然后重新安装以创建数据文件的新副本。我在mac上使用MAMP,未能按照上面的建议通过命令行升级我的数据库,但当我使用MAMP PRO->TOOLS菜单选项(操作系统X屏幕顶部)来“检查”、“修复”和“升级”数据库时,它工作正常 我假定GUI为底层CLI工具提供了必要的选项,因此您不必考虑这些选项需要是什么(而不是手动运行CLI工具) 通过这种方式(通过MAMP PRO的GUI工具)升级我的MAMP,使我的(单独的)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工具都很高兴,我也是。使用MAMP-PRO(版本2.2),我尝试了pmking的建议,但仍然一无所获。所以我编辑了两个文件: /Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh 将每一个中的“proot”更改为“p”。这将创建一个MySQL根密码提示,它成功了
我希望这对其他人有帮助。在debian 6、MySQL 5.1.73-1(debian)上,我也遇到了同样的问题,一个启动和停止帮助了我
/etc/init.d/mysql stop
/etc/init.d/mysql start
不确定发生了什么,但在退出停止和启动之后,问题似乎消失了,只是想在这里添加它,以防其他人也有同样的问题。我使用Centos 6.5用于服务器目的。以及用于ERR图的Mysql工作台。我也犯了同样的错误。上面的答案对我不适用 此答案基于更改注释列的数据类型。而且很有魅力 从控制台连接mysql
use mysql;
show create table mysql.proc;
然后查找评论栏。如果它的数据类型是char,则更改为text
您还可以使用任何其他gui进行更改。这应该可以做到:
mysql\u升级-uroot-p--force
如果mysql命令不在shell的搜索路径中,则可能需要指定该命令的完整路径
在Debian 6上,应加载以下内容:
/usr/bin/mysql\u升级-uroot-p--force
在Mac的MAMP上,默认路径为:
/Applications/MAMP/Library/bin/mysql\u升级-uroot-p--force
在Windows上,它将安装MySQL并包含在bin子目录中。默认情况下,它应位于:
“C:\Program Files\MySQL\MySQL Server\[*更改为MySQL Server*]\bin\mysqladmin”-u根关机
原始资源:当我在联接中的SQL查询中出现语法错误时,我遇到了这个错误 是的
加入s(…)上的商店。
而不是正确的
加入(…)上的商店。
这个错误真的很让人困惑,我不知道这与mysql.proc有什么关系,但是修复了查询就解决了这个问题。由于明显的原因,上述解决方案都不起作用 当模式中的更改需要不同版本的mysql服务器时,可能会发生这种情况 要解决此问题,请按照以下代码行操作:
mysql_upgrade -uroot -p --force
/usr/bin/mysql_upgrade -uroot -p --force
文章的完整细节可以在这里找到:如果您使用的是基于Unix的(如Ubuntu),您可以尝试以下方法:
sudo ./mysql_upgrade -uroot -p
就像比马尔建议的那样 在windows上,使用XAMPP,我通过转到以下目录解决了此问题:
C:\xampp\mysql\bin
并运行可执行文件mysql\u upgrade.exe
,确保您的mysql服务器正在运行。我遇到了完全相同的错误,解决方案非常愚蠢,因此我建议在开始升级之前寻找简单的答案。在我的特殊情况下,问题是我:
COUNT (id) AS quantity ... # Fails: notice space between COUNT and (
应该在哪里读
COUNT(id) AS quantity ... # Works: notice no space between COUNT and (
当您不使用框架时会发生这种情况,您可以(应该)执行类似的操作,在本例中,使用5:
哇,我只是转到C:\xampp\mysql\bin并运行mysql\u upgrade.exe
它会自行修复,现在一切都很正常。如果在特定查询中发生这种情况,请注意,当您尝试使用未定义的函数时,也会发生这种情况。在哪里运行此命令?我似乎无法从终端shell或mysql中运行此命令。想法?我正在使用MAMP运行MySql-命令位于/Applications/MAMP/Library/bin/MySql\u upgradeWorked for me,刚刚添加了--force。谢谢。如果你还想知道在哪里运行这个命令,这对我来说是有效的。我让MAMP运行,然后打开终端并输入“mysql_upgrade-uroot-p--force”。在密码提示下,我输入了MAMP的密码。(我想这是典型的“根”)然后一切都修复了。谢谢@Kevin!我有完全相同的问题,但升级mysql后,问题是
$users = DB::table('users')->count();