At 04:52 PM 7/16/2009, Todd Lyons wrote:
On Wed, Jul 15, 2009 at 11:58 AM, mos<mo...@fastmail.fm> wrote:
>> I have backup all the database files(innodb engine).
>> Now I want to recover it as myisam engine offline.
>> Any suggestions?
>
> Why can't you copy the InnoDb files to another machine and open the database
> with another MySQL server? (You could do it on your current server but it
> will be CPU & disk intensive).
>
>  Then do a:
> create table MyTable1 engine=MYISAM select * from InnoTable1;
>
> If these tables are large, then you could use:
> create table MyTable1 engine=MYISAM select * from InnoTable1 limit 0;
> insert into MyTable1 select * from InnoTable1 limit 0,100000;
> insert into MyTable1 select * from InnoTable1 limit 100000,100000;
> to import just 100k rows at a time.
> Now build the indexes for MyTable1.

Could do it easier I would think:
ALTER TABLE t1 ENGINE = MyISAM

Yes, I had thought of that but I find it is safer if he copies the data from an InnoDb table to a MyISAM table. That way he can abort the operation without any fear of having his InnoDb table corrupted. With the Limit clause he can also do it in sections and it gives him more control of the operation. At least that's the way I'd do it.

Mike


Repeat for each table.  Script it if it's more than a few tables.
Note that foreign keys will break if your InnoDB table uses them.

--
Regards...      Todd


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to