Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 5

11 years 3 months ago - 11 years 3 months ago #1 by geoffc
This entry is raised on behalf of a user [Pierre Duparte] comment. We produce it here so that others may perhaps benefit from the problem encountered.

Pierre writes:

Much as I liked the idea behind this plugin I had to disable it because it throws mysql errors (table version mismatches).

With the plug-in enabled, almost every mysql update and new record transaction returns something like (front end and administrator):

"Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50096, now running 50165. Please use mysql_upgrade to fix this error. SQL=CALL eos8t_updcontroltable (403,"2012-12-06 05:19:35","2012-12-06 05:19:36","464c76cd350cbe82648f93361e3f17b9:5KQaaivGoKhaE6yr6s73efCZ8dLKpu2n",1)"

Disabling the plug in eliminates the error.

I should point out the plug in was working fine for about three months.

The virtual host CP reports:

Apache version 2.2.23
PHP version 5.3.18
MySQL version 5.1.65-cll

Our Support response:

I have been doing some searching and as I supected the cause of your problem is
an incomplete database upgrade.

You said that the plugin was working fine for about three months and that I
think is the clue.

About the time the problem first occured I suspect that you or more probably
your service provider upgraded their database from version 5.0.96 to 5.1.65 (as
given in the error message).

The upgrade was not successful since there are some upgrade checks that should
have been run. See the link
dev.mysql.com/doc/refman/5.0/en/mysql-upgrade.html for more details.

This is the mysql_upgrade script that the error messages requests you to run.
It is more than likely that your service provider did not do this, with the
result that the db infomation_schema table routines need repairing. This
should have shown up in their upgrade logs as well.

It is not a problem with the database routine in the plugin, but you are seeing
the error because the database routine in the plugin, is accessing the db
information schema routines, which have not been upgraded successfully.

In the meantime there is a work around. In the Password Control options there is a parameter 'Use database password checking'. I think that you have this parameter set which is calling the database routine which in turn is generating the error. If you set it to off, then there is a built in PHP routine which performs the same task. In this situation the database routine isn't called and you shouldn't see the error.

Why two routines? Well for very busy sites the database routine is slightly
faster, but for most sites the speed difference will probably not be noticed.

The work around will avoid the error but I have some serious doubts about the state of your database, and would not be at all surprised if you see other 'strange errors' .

I would suggest that you might wish to raise the problem with your service
provider pointing them at the link provided above. You probably do not have the
root privileges required to run the mysql_upgrade script yourself.

If you do have the privileges then the command you want to run will be similar [UNIX system] to the following:

sudo /opt/local/lib/mysql5/bin/mysql_upgrade -uroot -p –basedir=/opt/local/lib/mysql5/bin/mysql

You did not say who your service provider is, but the fact that you are seeing
this error raises questions about their abilities, and I would certainly consider moving providers if they do not resolve the problem.

Being an experienced database engineer I tend to use database routines for
performance reasons, something that is not very common with other Joomla
extension authors, so it is possible that this problem would never have shown up
with other plugins. Unfortunately this means that when others (i.e. service
providers) fail to perform their upgrades we can seem to be at fault.

Regards
Geoff

Please Log in or Create an account to join the conversation.

Time to create page: 0.152 seconds
Go To Top

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries