Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hamasterisk

Migrar Tipo de Dados: MyISAM -> InnoDB

Recommended Posts

Aproveitando a pergunta do hamasterisk quero tirar uma dúvida..

 

Em um banco de dados já em uso, com muitos registros, fazendo essa mudança para innodb existe alguma probabilidade de perda de dados ou de o sistema parar de funcionar corretamente?

 

Estou com um sistema na web que está crescendo bastante, então to precisando criar algumas procedures para agilizar e deixar mais seguro alguns processos, e estes só podem ser feito com innodb.

 

Grato pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de qualquer tentativa de transformar suas tabelas em InnoDB, faça um backup full e tenha certeza de que esse backup restaura!

Bom, você já sabe das consequências de arquitetura que terá de administrar com essa migração de engine? Já fez um esudo sobre o InnoDB?

Se vocêê necessita ter um ambiente com suporte à transações, você precisa ter InnoDB, sendo que a complexidade do ambiente aumentará bastante.

 

=> Artigo, InnoDB - Introdução e Principais Características

 

Para transformar suas tabela MyISAM em InnoDB, você pode:

 

  • Leia isso!!
  • Fazer a conversão uma a uma com o MySQL Administrator ou mesmo com a instrução ALTER TABLE no terminal;
  • Fazer um DUMP com o aplicativo mysqldump e modificar o engine das tabelas com um editor de texto;
  • Utilizar um script PHP;

Script PHP:

 

<?php

	// conectamos ao mysql
	mysql_connect('localhost', 'user', 'pass') or die (mysql_error());
	mysql_select_db('seu_banco_de_dados) or die (mysql_error());
	
	// buscamos as tabelas
	$con_tbls = mysql_query('SHOW TABLES');
	while ($res_tbls = mysql_fetch_row($con_tbls)) {
		
		// enviamos o alter table para todas as tabela
		mysql_query('alter table '.$res_tbls[0].' engine=innodb');
		
	}
	
	echo '<br><br>';
	echo 'Tabelas convertidas...';
	
?>

Crie um ambiente para verificar se o script atenderá realmente ao que você quer, ok?

 

Quanto à mudança implicar em perda de dados ou parada no sistema, isso vai depender de suas competências e habilidades para lidar com os possíveis problemas de administração dos recursos do MySQL e aqueles que são necessários para ele funcionar com o InnoDB. Normalmente uma migração de Storage Engine é feita sem traumas.

 

Happy MySQL'ing!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

PessoAll, aproveitando o tópico:

 

Estou com uns "Service unavailable" direto no meu site. Estive pensando em converter as tabelas para InnoDb. Minha pergunta é: As tabelas q têm índices FULLTEXT podem ser migradas de MyISAM para InnoDb mantendo-se este tipo de índice numa boa???

 

[ ]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.