phpMyAdmin che mostra il database è MyISAM ma le tabelle sono InnoDB

È ansible che un database sia di un tipo (MyISAM) e che le tabelle siano di un altro tipo (InnoDB) o sia un bug in phpMyAdmin?

Essa mostra esattamente quello. Immagine qui http://www.startbreakingfree.com/wp-content/uploads/2009/11/Picture-10.png

  • Utilizzare LDAP per l'authentication MySQL?
  • Riparazione vs tabella di ottimizzazione in MySQL
  • Ricarica my.cnf senza riavviare il servizio MySql
  • Architettura per MySQL altamente accessibile con failover automatico in località fisicamente diverse
  • MySQL non leggono i simboli per i file delle opzioni my.cnf
  • MySQL InnoDB - innodb_file_per_table cons?
  • Ho provato a verificare il tipo di database dal command ma non ho trovato il command giusto per mostrarla. Se il database è in realtà MyISAM come posso cambiarlo in InnoDB?

    Grazie!

    5 Solutions collect form web for “phpMyAdmin che mostra il database è MyISAM ma le tabelle sono InnoDB”

    I database non dispongono di motori di stoccaggio, solo i tavoli fanno. Non ho idea di cosa PhpMyAdmin sta cercando di indicare lì, forse il motore predefinito di sistema o qualcosa del genere. La documentazione presumibilmente spenderà una certa luce su WTF sta succedendo.

    Questo non è un bug. Dalla documentazione MySQL :

    Un database può contenere tabelle di diversi tipi. Cioè, le tabelle non devono essere tutte create con lo stesso motore di archiviazione.

    Quindi stai bene.

    Per visualizzare il tipo di tabella:

     SHOW CREATE TABLE schema_migration 

    Per visualizzare il motore di archiviazione del database:

     mysqldump --no-data $YOURDATABASE 

    L'unico errore è che PhpMyAdmin sta mostrando nulla per il database, perché tutto ciò che mostra in quel context è irrilevante. Come suggerisce womble, potrebbe essere l'indicazione del motore predefinito (e della codifica), ma ti suggerisco di ignorarlo e ti preoccupare solo del motore utilizzato per le tabelle. Dopo tutto, un database è poco più di una collezione logica di tabelle.

    sì possiamo creare due tipi di tabelle in phpmyadmin, ho creato tabelle InnoDB e MyISAM nel mio database. Questo è quello che vuoi. Grazie

    @womble ha ragione. Tuttavia, se si desidera una certa tranquillità è ansible impostare alcune opzioni di configuration. Il file di configuration mysql, my.cnf , che, se si utilizza XAMPP, si trova in /Applications/XAMPP/etc/my.cnf oppure se si utilizza un'installazione standard che si trova normalmente in /etc/my.cnf , ha una sezione chiamata [mysqld]

    Il motore di archiviazione predefinito è MyISAM, ma puoi cambiarlo in InnoDB aggiungendolo sotto quella sezione:

     [Mysqld]
     default-storage-engine = innodb
    

    Ciò cambierà quello che appare nell'ultima row:

    Se si sta prendendo il tempo per assicurarsi che il database sia veramente impostato bene, potrebbe essere interessato a qualche altro elemento relativo all'impostazione del set di caratteri a utf-8, in quanto generalmente visto come pratiche migliori per il web sviluppo:

    Nel tuo config.inc.php, che si trova nella cartella phpmyadmin, puoi impostare questi parametri:

     // utilizza utf_8 per impostazione predefinita (i valori standard sulle versioni più recenti di pma)
     // ************************************************ *******************
     $ cfg ['DefaultCharset'] = 'utf_8';
    
    
     // impostare una collazione predefinita (utf8_general_ci è predefinita nelle versioni più recenti)
     // ************************************************ *********************
     $ cfg ['DefaultConnectionCollation'] = 'utf8_general_ci';
    
    
     // utilizzare mysqli per la sicurezza e la lettura utf normalmente visualizzata con il tipo BLOB
     // ************************************************ *****************************
     $ cfg ['Server'] [$ i] ['estensione'] = 'mysqli';
    

    Potete trovare tutte le opzioni di configuration visitando il PmaWiki o guardando (ma non cambiando!) I valori presenti in questo file: phpmyadmin/libraries/config.default.php .

    L'utilizzo di utf-8 è il nuovo standard raccomandato con applicazioni web, in particolare per applicazioni in cui gli utenti possono immettere parole con differenti lingue / set di tastiere. Scopri alcune delle differenze tra i set di caratteri utf8_bin e utf8_general_ci in questo bel post che ti aiuterà a scegliere quello giusto.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.