phpMyAdmin mostrando o banco de dados é MyISAM, mas as tabelas são InnoDB

5

É possível que um banco de dados seja de um tipo (MyISAM) e as tabelas sejam de outro tipo (InnoDB) ou isso é um bug no phpMyAdmin?

Está mostrando exatamente isso. Picture Here http://www.startbreakingfree.com/wp-content/uploads/ 2009/11 / Picture-10.png

Eu tentei verificar o tipo de banco de dados a partir do comando, mas não consegui encontrar o comando correto para mostrá-lo. Se o banco de dados é de fato MyISAM, como posso mudá-lo para o InnoDB?

Obrigado!

    
por Brian Armstrong 10.11.2009 / 02:19

5 respostas

9

Bancos de dados não possuem mecanismos de armazenamento, apenas tabelas. Eu não tenho ideia do que o PhpMyAdmin está tentando indicar lá, talvez o mecanismo padrão do sistema ou algo assim. A documentação presumivelmente lançaria alguma luz sobre a WTF.

    
por 10.11.2009 / 06:22
3

Isso não é um bug. A partir da documentação do MySQL :

A database may contain tables of different types. That is, tables need not all be created with the same storage engine.

Então você está bem.

Para ver o tipo de tabela:

SHOW CREATE TABLE schema_migration

Para ver o mecanismo de armazenamento do banco de dados:

mysqldump --no-data $YOURDATABASE
    
por 10.11.2009 / 02:38
0

O único bug é que o PhpMyAdmin está mostrando alguma coisa para o banco de dados, porque tudo o que ele mostra nesse contexto é irrelevante. Como o womble sugere, ele pode estar indicando o mecanismo padrão (e a codificação), mas sugiro que você o ignore e só se preocupe com o mecanismo usado nas tabelas. Afinal, um banco de dados é pouco mais que uma coleção lógica de tabelas.

    
por 10.11.2009 / 08:48
0

sim, podemos criar 2 tipos de tabelas no phpmyadmin, Eu criei tabelas InnoDB e MyISAM no meu banco de dados. Isso é o que você quer. Obrigado

    
por 14.07.2010 / 09:34
0

@womble está certo. No entanto, se você quiser um pouco de tranquilidade, pode definir algumas opções de configuração. Seu arquivo de configuração mysql, my.cnf , que, se você estiver usando o XAMPP, está localizado em /Applications/XAMPP/etc/my.cnf , ou se você está usando uma instalação padrão geralmente localizada em /etc/my.cnf , tem uma seção chamada [mysqld]

O mecanismo de armazenamento padrão é o MyISAM, mas você pode alterá-lo para o InnoDB adicionando isso sob essa seção:

[mysqld]
default-storage-engine = innodb

Isso mudará o que aparece na última linha:

Sevocêestátomandootempoparatercertezadequeseubancodedadosestárealmenteconfigurado,vocêpodeestarinteressadoemmaisalgunsitensrelacionadosàconfiguraçãodoconjuntodecaracteresparautf-8também,porqueeleégeralmentevistocomoummelhorpráticasparadesenvolvimentoweb:

Noseuconfig.inc.php,localizadonasuapastaphpmyadmin,vocêpodedefinirestesparâmetros:

//useutf_8bydefault(thestandardvaluesonnewerversionsofpma)//*******************************************************************$cfg['DefaultCharset']='utf_8';//setadefaultCollation(utf8_general_ciisdefaultonnewerversions)//*********************************************************************$cfg['DefaultConnectionCollation']='utf8_general_ci';//usemysqliforsecurityand,readingutfnormallydisplayedwiththeBLOBtype//*****************************************************************************$cfg['Servers'][$i]['extension']='mysqli';

Vocêpodeencontrartodasasopçõesdeconfiguraçãovisitandoo PmaWiki ou observando (mas não mudando!) os valores em o arquivo: phpmyadmin/libraries/config.default.php .

O uso do utf-8 é o novo padrão recomendado com aplicativos da Web, especialmente para aplicativos nos quais os usuários podem inserir palavras com diferentes conjuntos de idiomas / teclados. Confira algumas das diferenças entre os conjuntos de caracteres utf8_bin e utf8_general_ci neste post bonitinho que deve ajudá-lo a escolher o caminho certo.

    
por 25.06.2011 / 00:09