I had MySQL Stored Procedure to run from shell scrip on Red Hat 5.7. I got this error message:
ERROR 1558 (HY000) at line 1: Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50077, now running 50168. Please use mysql_upgrade to fix this error.
The script ran without a problem on my other Red Hat instance. I compared Mysql versions on both. The version of MySQL where I did not get an error was 14.12 build 5.0.77. The version of MySQL where I got an error was 14.14 build 5.1.68. I run suggested command:
... and restarted the Server. It solved my problem.