Another option, if your data hasn't changed in the mean time (I know, rare
scenario) could be to set up a secondary instance from the same binaries and
changing only the datafile location and the port in the config,
re-importing, shutting both instances down and switching out the datafiles.

You'll get some performance impact from the import's disk activity, but the
switch should take almost no time - if the datafiles are on the same
physical disk, of course.


On Mon, Nov 22, 2010 at 3:24 PM, Tyler Poland <tpol...@engineyard.com>wrote:

> Machiel,
>
> Each table will be write locked while it is being altered so this will most
> likely impact the application.  In addition to the write lock, the
> conversion causes each table to be completely rewritten in the new format so
> this will have a high impact on IO write activity and so it will impact
> overall IO throughput.  If your application is mostly reads, is well cached
> in memory, and the tables are small this should be pretty fast and
> relatively pain free.  If you aren't sure about the impact and conversion
> time you may want to restore a backup of the database to another location
> and run through the conversion while monitoring performance numbers.
>
> Tyler
>
>
>
> On 11/22/10 5:55 AM, Machiel Richards wrote:
>
>> Thank you John
>>
>>       I have in the meantime fond this to be the case (** someone
>> changed config files without my knowledge it seems as this was setup
>> properly and working**)
>>
>>         Anyhow, in order for the innodb to be active again I need to
>> restart the database, however aftewards I assume the tables will still
>> be MyIsam.
>>
>>         In this event I will need to manually alter each table, and I am
>> concerned about the impact of this on the system performance.
>>
>> Regards
>> Machiel
>>
>>
>> -----Original Message-----
>> From: John Daisley<daisleyj...@googlemail.com>
>> To: Machiel Richards<machiel.richa...@gmail.com>
>> Cc: mysql mailing list<mysql@lists.mysql.com>
>> Subject: Re: Changing database tables to different storage engine.
>> Date: Mon, 22 Nov 2010 10:51:23 +0000
>>
>> I have frequently seen Innodb 'silently' disabled if the
>> innodb_log_file_size is different to the files size on disk (quite
>> common when moving systems about). You wont be able to use innodb until
>> you resolve this either by deleting the log files and restarting
>> mysqld so they get recreated or changing the innodb_log_file_size to
>> match the size of the files on disk.
>>
>> If the Innodb engine is not available then MySQL will use the default
>> (usually MyISAM) storage engine even if Innodb was specified. You can
>> stop this behaviour by setting sql-mode=NO_ENGINE_SUBSTITUTION
>>
>> Regards
>>
>> John
>>
>>
>> On 22 November 2010 10:12, Machiel Richards<machiel.richa...@gmail.com>
>> wrote:
>>
>>         Hi All
>>
>>            Sorry but things have now changed, and I found the following.
>>
>>
>>                The tables was in fact restored as Innodb, however
>>         someone seems
>>         to have gone and changed something causing innodb to be
>>         disabled, this
>>         caused the tables to be defaulted back to MyIsam.
>>
>>                Should this not rather have just resulted in an error
>>         allowing
>>         to fix the problem in the first place instead of changing the
>>         storage
>>         engines?
>>
>>                Anyone have some thoughts on the best solution to fix
>>         this? I
>>         will look into the innodb not working soon.
>>
>>         Machiel
>>
>>
>>
>>
>>         -----Original Message-----
>>         From: Machiel Richards<machi...@rdc.co.za>
>>         To: mysql mailing list<mysql@lists.mysql.com>
>>         Subject: Changing database tables to different storage engine.
>>         Date: Mon, 22 Nov 2010 11:59:03 +0200
>>
>>
>>         Good day all
>>
>>                    Hope all is well.
>>
>>                     I have something to ask as someone might have done
>>         this as
>>         well and may have a good solution on how to fix this.
>>
>>                    During a database migration this weekend to move a
>>         MySQL
>>         database from windows to linux, we created a backup and restore
>>         of the
>>         database.
>>
>>                    However, form my part I made a mistake by overlooking
>>         the
>>         fact that the windows database was configured to use default
>>         storage
>>         engine as Innodb.
>>
>>                    On the new server, the default was set to MyIsam.
>>
>>                       This resulted in all the tables being restored to
>>         the new
>>         system as MyIsam instead of Innodb.
>>
>>                        In order to fix this, I know you can use alter
>>         table to
>>         change the storage engine, however I need to know the following:
>>
>>                            1. this is a production system and can't
>>         afford any
>>         downtime or as little performance degration as possible.
>>
>>                                    What is the best way to do this in
>>         order to
>>         have the least amount of effect on the database and it's
>>         performance?
>>
>>
>>                 Regards
>>         Machiel
>>
>>
>>
>>
>>
>>
>>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=vegiv...@tuxera.be
>
>


-- 
Bier met grenadyn
Is als mosterd by den wyn
Sy die't drinkt, is eene kwezel
Hy die't drinkt, is ras een ezel

Reply via email to