Cannot load from mysql.proc. The table is probably corrupted

MysqlImportImporterror

Mysql 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionČamoView Question on Stackoverflow
Solution 1 - MysqlffeastView Answer on Stackoverflow
Solution 2 - MysqlknocteView Answer on Stackoverflow
Solution 3 - MysqlMike RehyView Answer on Stackoverflow