Bug #58969 upgrade 5.1 -> 5.5 [ERROR] Incorrect definition of table mysql.proc:
Submitted: 16 Dec 2010 11:07 Modified: 16 Dec 2010 12:08
Reporter: Johan Andersson Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Installing Severity:S3 (Non-critical)
Version:5.5.8 ga OS:MacOS
Assigned to: CPU Architecture:Any
Tags: incorrect definition mysql.proc, mysql_upgrade 5.5.8, text char(64)

[16 Dec 2010 11:07] Johan Andersson
Description:
Hi,

Tried to upgrade 5.1.51 to 5.5.8 (ga), but mysql_upgrade says:
...

Running 'mysql_fix_privilege_tables'...
ERROR 1548 (HY000) at line 1111: Cannot load from mysql.proc. The table is probably corrupted
ERROR 1064 (42000) at line 1112: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sqlstate 'HY000' set message_text='Unexpected content found in the performance_s' at line 1
ERROR 1548 (HY000) at line 1125: Cannot load from mysql.proc. The table is probably corrupted
FATAL ERROR: Upgrade failed

..

and the error log  says :

101216 11:53:42 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type char(64), found type text.

How to repeat:
I did:
1) stop old mysql server
2) cd /usr/local/
2) sudo tar xvfz /Users/johan/Downloads/mysql-5.5.8-osx10.6-x86_64.tar.gz 
3) rm -rf mysql
4) ln -s /mysql-5.5.8-osx10.6-x86_64 mysql
5) cd mysql/bin
6) start new mysql server (5.5.8)
7) ./mysql_upgrade

Suggested fix:
-
[16 Dec 2010 11:28] Johan Andersson
Hi,

This is actually not a bug with the mysql_upgrade ( i got worried for a sec), but the real problem is that on Mac OSX the following scripts

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

actually did not stop/start the mysqld.

Hence it was still the old version of mysqld still running :(
[16 Dec 2010 11:50] Peter Laursen
You should know:

http://dev.mysql.com/doc/refman/5.5/en/news-5-5-7.html

"Due to these changes, the server requires that a new grant table, proxies_priv, be present in the mysql database. If you are upgrading to MySQL 5.5.7 from a previous MySQL release rather than performing a new installation, the server will find that this table is missing and exit during startup with the following message: 
Table 'mysql.proxies_priv' doesn't exist

To create the proxies_priv table, start the server with the --skip-grant-tables option to cause it to skip the normal grant table checks, then run mysql_upgrade."

Peter
(not a MySQL person)
[16 Dec 2010 12:08] Johan Andersson
This is not a bug.
[24 Jan 2011 23:54] Freddie Akike
Hi,
I am trying to enter the commands in MySQL server 5.5.8 at line 3 to create the password at root, the command is as follows; WHERE user='root'; and there is an error saying; ERROR 1064 (42000): You have an error in your SQL syntax: check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user='root'' at line 3