Bug #47710 mysql-5.1.39-linux-i686-glibc23 upgrade failed
Submitted: 29 Sep 2009 11:46 Modified: 30 Sep 2009 9:45
Reporter: Ugur Dincer Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Installing Severity:S3 (Non-critical)
Version:5.1.39 OS:Linux
Assigned to: CPU Architecture:Any

[29 Sep 2009 11:46] Ugur Dincer
Description:
Trying to upgrade to 5.1.39 using mysql-5.1.39-linux-i686-glibc23
... OK
... OK
Running 'mysql_fix_privilege_tables'...
ERROR 1193 (HY000) at line 69: Unknown system variable 'have_csv'
ERROR 1064 (42000) at line 71: 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 'NULL' at line 1
ERROR 1243 (HY000) at line 72: Unknown prepared statement handler (stmt) given to EXECUTE
ERROR 1243 (HY000) at line 73: Unknown prepared statement handler (stmt) given to DEALLOCATE PREPARE
ERROR 1193 (HY000) at line 77: Unknown system variable 'have_csv'
ERROR 1064 (42000) at line 79: 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 'NULL' at line 1
ERROR 1243 (HY000) at line 80: Unknown prepared statement handler (stmt) given to EXECUTE
ERROR 1243 (HY000) at line 81: Unknown prepared statement handler (stmt) given to DEALLOCATE PREPARE
ERROR 1193 (HY000) at line 309: Unknown system variable 'general_log'
ERROR 1193 (HY000) at line 310: Unknown system variable 'general_log'
ERROR 1146 (42S02) at line 311: Table 'mysql.general_log' doesn't exist
ERROR 1193 (HY000) at line 312: Unknown system variable 'general_log'
ERROR 1193 (HY000) at line 314: Unknown system variable 'slow_query_log'
ERROR 1193 (HY000) at line 315: Unknown system variable 'slow_query_log'
ERROR 1146 (42S02) at line 316: Table 'mysql.slow_log' doesn't exist
ERROR 1193 (HY000) at line 317: Unknown system variable 'slow_query_log'
FATAL ERROR: Upgrade failed

How to repeat:
mysql_upgrade --verbose -u${USER} -p${PASS}

mysql> show variables like 'have_csv';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_csv      | YES   |
+---------------+-------+
1 row in set (0.00 sec)

have_csv exists but following fails:

mysql> select @@have_csv;
ERROR 1193 (HY000): Unknown system variable 'have_csv'

Suggested fix:
Return the variable value instead of the error code.
[29 Sep 2009 13:27] Miguel Solorzano
Thank you for the bug report. Looks like it is duplicate of bug: http://bugs.mysql.com/bug.php?id=42028.
[29 Sep 2009 14:21] Ugur Dincer
I run my current mysql instance on the default port (3306).

Looking for 'mysql' as: /tmp/mysql-5.1.39-linux-i686-glibc23/bin/mysql
Looking for 'mysqlcheck' as: /tmp/mysql-5.1.39-linux-i686-glibc23/bin/mysqlcheck
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock'
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock'
[29 Sep 2009 15:04] Susanne Ebrecht
This is a duplicate of bug #42028
[29 Sep 2009 15:13] Ugur Dincer
Any plans to resolve this and the duplicate(s) in the next release?
[30 Sep 2009 9:45] Ugur Dincer
I'm not an experienced MySQL user so I would like to add some stupid questions
Since mysql_upgrade fails, how should I progress the upgrade process
According to the upgrade instructions:

mysql_upgrade executes the following commands to check and repair tables and to upgrade the system tables: 
mysqlcheck --all-databases --check-upgrade --auto-repair
mysql < fix_priv_tables
mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names

What is the name of the fix_priv_tables script generated interally?
Or is it enough to just run >> mysqlcheck --all-databases --check-upgrade --auto-repair