我開始特別使用MySQL Workbench工具進行數據建模。所以,我想要做的第一件事是在Web服務器上對我現有的數據庫進行逆向工程。但我無法完成的過程,因爲我送花兒給人得到這個奇怪的錯誤消息:MySQL Workbench無法加載mysql.proc
Error: Cannot load from mysql.proc. The table is probably corrupted
我試圖修復此表,但它不能幫助我。那麼,你對這個問題有什麼經驗,並且知道如何解決它?
我開始特別使用MySQL Workbench工具進行數據建模。所以,我想要做的第一件事是在Web服務器上對我現有的數據庫進行逆向工程。但我無法完成的過程,因爲我送花兒給人得到這個奇怪的錯誤消息:MySQL Workbench無法加載mysql.proc
Error: Cannot load from mysql.proc. The table is probably corrupted
我試圖修復此表,但它不能幫助我。那麼,你對這個問題有什麼經驗,並且知道如何解決它?
我正在使用MySQL槽MAMP Pro,而凱文的答案對我沒有幫助。 是的,我不得不做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菜單選項(OS 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 Workbench。我得到了同樣的錯誤。上面的答案不適合我。
此答案基於更改評論欄的數據類型。像魅力一樣工作。
從控制檯連接mysql。
use mysql;
show create table mysql.proc;
然後尋找評論列。如果它的數據類型是char,則更改爲文本。
您也可以使用任何其他gui進行更改。
這應該做的伎倆:
mysql_upgrade -uroot -p --force
您可能需要如果MySQL的它不是在shell的搜索路徑指定命令的完整路徑。
在Debian 6,應裝有:
/usr/bin/mysql_upgrade -uroot -p --force
在Mac上的甲基苯丙胺的默認路徑是:
/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
我得到這個錯誤,當我在SQL查詢中加入了一個語法錯誤。
我做
JOIN shops ON s (...)
而不是正確的
JOIN shops s ON (...)
此錯誤是真正令人困惑,我不知道這是什麼有mysql.proc的做,但修復查詢修復了問題。上述解決方案都沒有出於顯而易見的原因。
這可能發生在模式更改需要不同版本的mysql服務器時。
爲了解決這個問題,請按照代碼的下面一行:
mysql_upgrade -uroot -p --force
/usr/bin/mysql_upgrade -uroot -p --force
後的全部細節將在這裏找到:Cannot load from mysql.proc. The table is probably corrupted
如果你在基於Unix的(比如Ubuntu),你可以試試這個:
sudo ./mysql_upgrade -uroot -p
像Bimal建議的那樣。
在Windows上,XAMPP我設法去的目錄來解決該問題:
C:\xampp\mysql\bin
和運行可執行mysql_upgrade.exe
,你會發現裏面時,請確保你的MySQL服務器正在運行。
這一個在Windows 7中爲我工作,停止並啓動你的MySQL服務器 –
我有完全相同的錯誤,解決方案只是愚蠢的,所以我建議在開始升級之前尋找簡單的答案。在我的特殊情況下,問題是我所做的:
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 5.6的同樣的問題。我試過mysql_upgrade -uroot -p但它沒有幫助。 –