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=''
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.
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.
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.
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.