For someone who upgraded MySQL from versions 5.0.x to something like 5.5.x, this error might be a familiar one :
“Cannot load from mysql.proc. The table is probably corrupted”
The database activities would not work as expected and hence you will need to fix this error at the earliest.
The recommended solution from MySQL is to run the mysql_upgrade
script which examines all tables in all databases for incompatibilities with the current version of MySQL Server.
mysql_upgrade
also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added.
You can do this by :
# mysql_upgrade -u root
If you are using a cPanel based system, just run
# mysql_upgrade
To force the check, run
# mysql_upgrade --force
Does this result in an error ? “”FATAL ERROR: Upgrade failed””
Look for the logs when this happens and try to spot if some invalid db folders are getting listed during the upgrade.
It might be something like :
mysqlcheck: Got error: 1102: Incorrect database name ‘#dbname#.bk’ when selecting the database
The above error indicates you have an invalid db under the mysql dbs folder, usually – /var/lib/mysql.
Navigate to /var/lib/mysql
and find if there are any folders with any extension ( keep only valid db folders and move everything else, like backed up files or so from there )
Once this is complete, re-run the mysql_upgrade
script !