mySQL has no table and appears corrupt on creation?

From client who as a GPL CentOS 6.x server.

After creating a new (without tables) mySQL database and then backing it up, it causes an error

PROCEDURE Edit Database: This database has no tables.

Backup Virtual Servers: Dumping MySQL database heritagegreens .... dump failed! mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'heritagegreens'': Cannot load from mysql.proc. The table is probably corrupted (1548)



We've seen that occur when a non-standard MySQL version was installed on a server.

What does this command show:

rpm -qa | grep mysql-server

The server admin reports:

We have just 5.0.x.x on our servers but someone apparently decided to install the latest and greatest. Have they painted themselves in a corner? Their big concern is with the existing databases that they want to not harm with any fix.

That is certainly a bit of a pickle :-)

Using third party software can cause unusual issues, and especially so with MySQL... sometimes the upgrades don't go smoothly, but it's also generally not possible to go back, as it's begun the process of upgrading your tables to the MySQL 5.5 format.

We'd highly recommend sticking with the default packages available in CentOS when possible.

All that said -- it may be possible to get that corrected with that new MySQL version.

MySQL provides a script called "mysql_upgrade" which should fix the table structure within the mysql database to work with the MySQL version you have there.

You may want to try running /usr/bin/mysql_upgrade as root to see if that corrects the problem you're seeing there.