SQL error (1547): Column count of mysql.proc is wrong

Hi All,

I have taken a back-up and then restored my data, but my stored procedure table is not reflecting and when i tried to run the query it says

SQL error (1547): Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted.

So would like to know what would be the probable cause and how to solve/rectify it.

Thanks

Are you backing up from an older version and restoring to a newer version of MySQL (typically from 5.0 to 5.1)? There are known issues when performing an upgrade.

Thanks for reply.

Yes I upgrade the version 5.0 to last version 5.5.
I have problem only with sProc , all ok in the tables…
I try this:

mysqlcheck -u root -p  --check-upgrade --all-databases --auto-repair

But th error is persistent.
I have backup of sProc in database offline, how do restore my sProc in database online?
Can you help me?

The problem is that there are table differences between the different versions which results in the problems that you are facing. Did you upgrade the server or did you rebuild a new MySQL server on version 5.5 and then restore the database?

Thanks for reply.

I find and fix the problem.

When you execute in my shell:

c:\\>mysqlcheck -u root -p  --check-upgrade --all-databases --auto-repair

The script of upgrade be directed to this folder -old version of mysql-:

C:\\Program Files\\MySQL\\MySQL Server 5.0

Was sufficient is to move the folder in the new folder:

C:\\Program Files\\MySQL\\oldDBMysql\\MySQL Server 5.0

And now execute the script mysql upgrade in my shell is correct:

C:\\Documents and Settings\\All Users\\Application Data\\MySQL\\MySQL Server 5.5

Thanks for your time and hints,
Greetings