SQL Error: Table ‘mysql.proc’ doesn’t exist

Today I upgraded my HeidiSQL into version 4, but when I am running it on the MySQL server 5.0 I got error

"SQL Error: Table 'mysql.proc' doesn't exist"

After googling around, found that this error caused HeidiSQL requires table Mysql.proc which is not exist. Table Mysql.proc is used to store procedure. But wait, I am using MySQL 5.0.x which already support Procedures and Views!! so How come this error show up??

After some tought, the are several reason why this error came up although you are using MySQL 5.

  1. You are upgrading from MySQL 4.x
  2. Your MySQL 5.x installation didn’t smooth

And in my case, it was reason no. 1, as I am remember I was once upgrade mysql server a year ago. So how to fix it?

Based on MySQL Forum, all I need to do is run command

scripts/mysql_fix_privilege_tables.sql

Wait, it is error, since I am using RPM version not TAR.GZ, so here I fix it.

# rpm -qa | grep mysql
mysql-bench-5.0.68-1.el4_6
mysql-libs-5.0.68-1.el4_6
mysql-5.0.68-1.el4_6
mysql-server-5.0.68-1.el4_6
mysqlclient10-3.23.58-4.RHEL4.1
php-mysql-5.1.6-3.el4s1.10
libdbi-dbd-mysql-0.6.5-10.RHEL4.1
mysql-devel-5.0.68-1.el4_6
mod_auth_mysql-3.0.0-2.el4s1.3

# rpm -qli mysql-server-5.0.68-1.el4_6 | more
/etc/rc.d/init.d/mysqld
/usr/bin/innochecksum
/usr/bin/myisam_ftdump
/usr/bin/myisamchk
/usr/bin/myisamlog
/usr/bin/myisampack
/usr/bin/mysql_convert_table_format
/usr/bin/mysql_explain_log
/usr/bin/mysql_fix_extensions
/usr/bin/mysql_fix_privilege_tables
/usr/bin/mysql_install_db

# /usr/bin/mysql_fix_privilege_tables
This script updates all the mysql privilege tables to be usable by
the current version of MySQL

Got a failure from command:
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --no-defaults --force --user=root --host=localhost --database=mysql
Please check the above output and try again.

Running the script with the --verbose option may give you some information
of what went wrong.

If you get an 'Access denied' error, you should run this script again and
give the MySQL root user password as an argument with the --password= option

# /usr/bin/mysql_fix_privilege_tables --password=mydbserv
This script updates all the mysql privilege tables to be usable by
the current version of MySQL

done

Like it said: Done. Now I can access to MySQL 5.0 using latest HeidiSQL

SocialTwist Tell-a-Friend

Related posts:

  1. MySQL partition is full MySQL databases are located on /var/lib/mysql, if you create a...
  2. Magento error with pdo_mysql Magento is a great Free / Open source eCommerce script,...

Related posts brought to you by Yet Another Related Posts Plugin.

Leave a Reply

CommentLuv Enabled