Moving MyISAM table files to new database

I had a MySQL 8.0.12 database with MyISAM tables only, which I then tried to upgrade to 8.0.17. However, the upgrade went wrong and somehow the mysql.ibd file got broken, and the dd_version got changed to a 1, meaning I could no longer access the database.

I tried all I could find on the internet, for fixing it, including editing the file itself, changing the dd_version, after making backups of the data folder, but nothing worked. So I decided to install a new 8.0.12 server, as I had read that with MyISAM it was as simple as moving the files to a new datadir, and the database server would automatically discover them and I’d gain access to them again.

Of course, that has turned out to be complete hogwash. It didn’t work, so now I’m looking for advice on how to move those tables to the new server, or how to gain access to them otherwise. As they’re MyISAM and not InnoDB, I know that all the data is still intact, so I just need a way of regaining access to them.

Anyone with some new ideas for how to achieve that?

What didn’t work? Didn’t MySQL start? Or didn’t see the database? Or …?

Moving the actual mysql data files is problematic. The simple and recommended solution is to export the DB using mysql dump or any mysql gui and then importing the resultant SQL File.

2 Likes

4 posts were merged into an existing topic: Move a database from a linux to another linux