Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql alterando o mecanismo padrão


Alterando o valor da variável default_storage_engine não tem efeito nas tabelas existentes. Tudo o que ele faz é criar novas tabelas com o mecanismo que você especificou nesta variável quando você não o especifica em seu create table declaração. É apenas um valor padrão.

Lembre-se também de que você precisa distinguir entre global e session valores variáveis. Para realmente ter MyISAM como padrão sempre que você criar uma nova tabela, e não apenas para a sessão atual, faça assim:
SET GLOBAL  default_storage_engine=MYISAM;

Se você quiser manter a variável com este valor mesmo após reiniciar o servidor, você deve colocar a seguinte linha em seu arquivo padrão my.cnf na seção [mysqld]
default_storage_engine = MYISAM

Para converter suas tabelas atuais para MyISAM, faça isso para cada tabela:
ALTER TABLE table_name ENGINE=MyISAM;

Mas lembre-se de que a restrição de chave estrangeira não funcionará mais, pois o MyISAM não a suporta. Ele não vai reclamar, vai apenas ignorá-lo. Então é melhor você ter certeza, você sabe o que está fazendo :)