[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [mysql] passer de myisam a innodb



Le Wednesday 22 April 2009, GanGan(GanGan <gangan@zalteam.com>) a écrit:
> bonjour les amis !!


Bonjour,


> j'ai un truc farfelu a faire transformer : une base mysql avec des
> tables myisam qui faudrai que je transforme en innodb
> comment feriez vous ça ? la base est en prod :s j'ai bien une idée
> mais y a peut etre mieux.


La commande sql 'alter table toto Engine=innodb ;' permet de passer la base en innoDB.
Attention : il vaut mieux avoir des backups sous la main...


Une bonne solution est :
* Dummper la base avec mysqldump : mysqldump --database=toto > toto.dump
* sed -i.MyIsam -e 's/ ENGINE=MyISAM / ENGINE=InnoDB /g' toto.dump : cela vous permettra de disposer dans le fichier toto.dump.MyIsam la structure et les données au format MyIsam et dans le fichier la structure et les données format innoDB.


* Restaurer les données puis vérifier que la structure a bien changée par 'show create table LA_TABLE'


A+


Il suffit ensuite de restaurer soit l'un ou l'autre fichier.


--
http://www.glennie.fr
The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.



Reply to: