Package: mysql-server-5.0 Version: 5.0.51a-6 Followup-For: Bug #481154
Basically the double quotes contained within the sql query in /usr/share/mysql/debian-start.inc.sh lead to evaluation and substitution (when processed by MySQL) of the separate CONCAT parameters instead of the whole concatenated string. Thus the sub-query never executes and is instead treated as a literal column name, hence the error. The key is to use single quotes in the SQL query so that everything is treated literally (the concat will force the evaluation of the sub-squery). Then from a bash perspective you can encase the whole sql statement, being passed to /usr/sbin/mysql, in double quotations without fear as there are no variables or regex statements outside of single quotations in the sql statement. A patch is included Os -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.25 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages mysql-server-5.0 depends on: ii adduser 3.107 add and remove users and groups ii debconf [debconf-2.0] 1.5.21 Debian configuration management sy ii libc6 2.7-10 GNU C Library: Shared libraries ii libdbi-perl 1.604-1+b1 Perl5 database interface by Tim Bu ii libgcc1 1:4.3.0-3 GCC support library ii libmysqlclient15off 5.0.51a-6 MySQL database client library ii libncurses5 5.6+20080308-1 Shared libraries for terminal hand ii libreadline5 5.2-3 GNU readline and history libraries ii libstdc++6 4.3.0-3 The GNU Standard C++ Library v3 ii libwrap0 7.6.q-15 Wietse Venema's TCP wrappers libra ii lsb-base 3.2-11 Linux Standard Base 3.2 init scrip ii mysql-client-5.0 5.0.51a-6 MySQL database client binaries ii mysql-common 5.0.51a-6 MySQL database common files ii passwd 1:4.1.1-1 change and administer password and ii perl 5.10.0-10 Larry Wall's Practical Extraction ii psmisc 22.6-1 Utilities that use the proc filesy ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime Versions of packages mysql-server-5.0 recommends: ii bsd-mailx [mailx] 8.1.2-0.20071201cvs-3 A simple mail user agent ii libhtml-template-p 2.9-1 HTML::Template : A module for usin ii mailx 1:20071201-3 Transitional package for mailx ren -- debconf information: mysql-server-5.0/really_downgrade: false mysql-server-5.0/need_sarge_compat: false mysql-server-5.0/start_on_boot: true mysql-server/error_setting_password: mysql-server-5.0/nis_warning: mysql-server-5.0/postrm_remove_databases: false mysql-server-5.0/need_sarge_compat_done: true mysql-server/password_mismatch:
--- debian-start.inc.sh.old 2008-05-24 13:33:17.000000000 +0100 +++ debian-start.inc.sh 2008-05-24 14:29:06.000000000 +0100 @@ -18,10 +18,10 @@ tempfile=`tempfile` # We have to use xargs in this case, because a for loop barfs on the # spaces in the thing to be looped over. - LC_ALL=C $MYSQL --skip-column-names --batch -e ' - select concat("select count(*) into @discard from ", - TABLE_SCHEMA, ".", TABLE_NAME) - from information_schema.TABLES where ENGINE="MyISAM"' | \ + LC_ALL=C $MYSQL --skip-column-names --batch -e " + select concat('select count(*) into @discard from ', + TABLE_SCHEMA, '.', TABLE_NAME) + from information_schema.TABLES where ENGINE='MyISAM'" | \ xargs -i $MYSQL --skip-column-names --silent --batch \ --force -e "{}" >$tempfile if [ -s $tempfile ]; then