At 04:52 PM 7/16/2009, Todd Lyons wrote:
>On Wed, Jul 15, 2009 at 11:58 AM, mos<mos99@stripped> 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
> > 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.
>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.