I am starting to use MySQL Workbench tool especially for data modeling. So, the first I would like to do is reverse engineering of my existing database on web server. But I
I got this error, when I had a syntax error in my SQL query in a join.
I did
JOIN shops ON s (...)
instead of the correct
JOIN shops s ON (...)
This error was really confusing, I don't know what this has to do with mysql.proc, but fixing the query fixed the problem. None of the above solutions worked for obvious reasons.
if you're on Unix based (like Ubuntu) you can try this :
sudo ./mysql_upgrade -uroot -p
like Bimal suggested.
This probably happens when the changes in schema required different versions of mysql server.
To fix this, follow the line of codes below:
mysql_upgrade -uroot -p --force
/usr/bin/mysql_upgrade -uroot -p --force
Complete details of post will find here: Cannot load from mysql.proc. The table is probably corrupted
I had exact same error, and solution was just stupid, so I recommend to look for simple answers before starting to upgrade stuff. In my particular case the problem was I did:
COUNT (id) AS quantity ... # Fails: notice space between COUNT and (
where it should read
COUNT(id) AS quantity ... # Works: notice no space between COUNT and (
This happens when you don't use a framework, you could (should) do something like this, in this case with in Laravel 5:
$users = DB::table('users')->count();
This should do the trick:
mysql_upgrade -uroot -p --force
You may need to specify the full path for command if mysql it's not in the shell's search path.
On Debian 6 it should be loaded with:
/usr/bin/mysql_upgrade -uroot -p --force
On Mac's MAMP the default path is:
/Applications/MAMP/Library/bin/mysql_upgrade -uroot -p --force
On Windows it'll be where MySQL is installed and contained in the bin subdirectory. By default it should be located at:
"C:\Program Files\MySQL\MySQL Server\[*CHANGE TO MySQL SERVER*]\bin\mysqladmin" -u root shutdown
Original resource: How to Resolve MySQL Error Code: 1548 Cannot load from mysql.proc. The table is probably corrupted
on debian 6, MySQL 5.1.73-1 (Debian), I had the same problem, and a start and stop helped me.
/etc/init.d/mysql stop
/etc/init.d/mysql start
not sure what happen, but the problem seems to go away after this quit stop and start, just wanted to add it here, in case others have same problem.