Cannot load from mysql.proc. The table is probably corrupted
MysqlImportImporterrorMysql Problem Overview
I know that it looks like duplicate, but the solutions which I found don't work for me. I uninstalled MySQL 5.1 and installed 5.6, and I would like to import a previously exported SQL file back. But there is some function which causes an error in that export file. I found and ran the command:
../bin mysql mysql_upgrade -uroot -p --force
but if I understand, it works only when upgrade, not with install. Is there some solution for me?
I also removed the function definition from import file and import is done. But if I want to redefine that function manually it shows me the same error "can not load from mysql.proc". Function is here:
DELIMITER $$
CREATE FUNCTION `randStr250`(length int) RETURNS varchar(250) CHARSET utf8
begin
declare s varchar(250);
declare i tinyint;
set s="";
if (length<1 or length>6) then
set s="Parameter should be in range 1-6. Your value was out of this range.";
else
set i=0;
while i<length do
set s=concat(s,sha1(now()));
set i=i+1;
end while;
end if;
return s;
end $$
DELIMITER ;
Mysql Solutions
Solution 1 - Mysql
Had a similar issue after restorting a db dump from mysql-5.5.29 to mariadb-5.5.41. mysql_upgrade fixed the issue
$ mysql_upgrade -u root -pxxx
According to the mysql manual,
> You should execute mysql_upgrade each time you upgrade MySQL.
Solution 2 - Mysql
Most people that have this problem are recommending upgrading MySQL. If you're in a configuration, like me, in which this happens when you try to set up a SLAVE node to replicate from a MASTER node, you don't really want to mess up with versions.
I mean, in my case I had a Windows MASTER node and was setting up a Linux SLAVE node (so, doing the mysqldump dance first). Since upgrading MySQL is a bit more tricky in Linux (or rather, it's actually better not to do it, to enjoy the stability of Linux packages that, for example, come from your LTS distribution), it's maybe just a good idea to make sure that the MySQL version that you have in your Windows OS is running the same version as your MySQL version in your Linux OS.
Once I made sure both versions were the same, the mysqldump and restore worked, and I could set up a SLAVE node properly without receiving the dreadful error Cannot load from mysql.proc. The table is probably corrupted.
.
Hope this helps.
Solution 3 - Mysql
I am using brew so:
brew upgrade [email protected]
helps
then update profile bash
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> /Users/mike/.bash_profile
And restart all terminals.