Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 159262

Summary: ISAM tables must first be converted before FC4 upgrade
Product: [Fedora] Fedora Reporter: Benjamin Baez <bbaez>
Component: mysqlAssignee: Tom Lane <tgl>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: high Docs Contact:
Priority: medium    
Version: 4CC: hhorak, redhat-bugs2eran
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-07-13 03:37:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Benjamin Baez 2005-06-01 00:18:29 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050504 Fedora/1.0.3-4 Firefox/1.0.3

Description of problem:
ISAM seems to no longer be supported in the build of MYSQL 4.  MySQL will not me able to start.  The following error message will be placed in /var/log/mysqld.log

050531 16:49:55 [ERROR] /usr/libexec/mysqld: Can't find file: 'host.MYI' (errno: 2)
050531 16:49:55 [ERROR] Fatal error: Can't open privilege tables: Can't find file: 'host.MYI' (errno: 2)
050531 16:49:55  mysqld ended

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Start mysql
2.Read logs

  

Actual Results:  Mysql fails starting.

Expected Results:  Mysql should start.

Additional info:

Run the following command on your system before upgrading to Fedora Core 4:

/usr/bin/mysql_convert_table_format mysql --user='' --password=''

Comment 1 Benjamin Baez 2005-06-01 00:31:30 UTC
I've been upgrading my system forever, the mysql database dates to July 2000 so
this may be a small percentage of users out there.  Nevertheless, at least there
is a searchable report about it.

Comment 2 redhat-bugs2eran 2005-07-10 13:24:07 UTC
Same problem here: after upgrade to FC4, mysqld cannot start since its
permission tables wrere in the ISAM format.


A solution if you have already upgraded to FC4:

To convert the tables you need to  temporarily downgrade MySQL to a version with
ISAM support. To do so, stop mysqld and all processes accessing it, then
download and install the RPM files from Fedora Core 3:

# rpm --nodeps --oldpackage -Uvh \
  mysql-3.23.58-16.FC3.1.i386.rpm \
  mysql-server-3.23.58-16.FC3.1.i386.rpm \
  perl-DBD-MySQL-2.9003-5.i386.rpm

You may need to add "--nodeps" to override dependency problems (e.g., from
php-mysql).

Now, as advised above, run:

$ /usr/bin/mysql_convert_table_format mysql --user='foo' --password='bar'

Repeat this, replacing the "mysql" argument with each of the ISAM databases you
have (look at /var/lib/mysql).

Finally, reinstall the Fedora Core 4 packages:

# yum install mysql mysql-server perl-DBD-MySQL

As you can see this procedure is rather violent, so it's a good idea to back up
your data first.


Comment 3 Tom Lane 2005-07-13 03:37:55 UTC
Apparently the MySQL folk decided that ISAM shouldn't be built by default anymore as of 4.x.  I've re-
enabled it in our latest build (4.1.12-1 and up).  It's probably still a good idea to reconstruct any old 
tables you have, as it's not hard to read the handwriting on the wall ... but we'll hold the line for a little 
while yet.

Comment 4 Tom Lane 2005-11-02 21:50:35 UTC
A note for the archives: as of FC5 we will be using MySQL 5.0, and the ISAM code
isn't there at all any more in 5.0.  Better get those old tables updated.