Bug 159262 - ISAM tables must first be converted before FC4 upgrade
Summary: ISAM tables must first be converted before FC4 upgrade
Alias: None
Product: Fedora
Classification: Fedora
Component: mysql
Version: 4
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Tom Lane
QA Contact: David Lawrence
Depends On:
TreeView+ depends on / blocked
Reported: 2005-06-01 00:18 UTC by Benjamin Baez
Modified: 2013-07-03 03:05 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2005-07-13 03:37:55 UTC
Type: ---

Attachments (Terms of Use)

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:

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 \

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

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.

Note You need to log in before you can comment on or make changes to this bug.