InnoDB esistono tabelle in MySQL, ma dice che non esiste dopo la copia di database per il nuovo server

Ho usato mysqldump per esportare il database e poi l’ho importato in MySQL sul mio server. Ora riesco a vedere tutte le mie tabelle, se faccio “show tables” ma io in realtà non è possibile selezionare una o descrivere qualsiasi di loro.

ERRORE 1146 (42S02): Tabella ‘mydatabase.utente non esiste

Tutte le mie tabelle sono InnoDB. Ho visto una questione aveva dove stavano utilizzando old_passwords, così ho impostato in modo esplicito che a 0 nel mio.cnf e ho fatto in modo che tutte le password nella tabella di mysql sono stati 41 cifre esadecimali come dovrebbero essere per la nuova password.

Sei sicuro che il ripristino sia stato fatto senza errori? Provare a fare il ripristino con una singola transazione, la transazione in errori.
È stato lavorare per un po ‘ dopo che ho copiato e poi ha iniziato a dire che la tabella non esiste. Ma non è possibile creare una tabella, in quanto non esiste… Il problema è che ci sono stati alcuni cambiamenti ai dati che è successo con questa copia dopo l’importazione, quindi ho bisogno di essere in grado di accedere a tali almeno. L’ .frm file per questa tabella è esattamente lo stesso come una copia di lavoro del database.
Mi sembra che tu abbia problemi con la struttura di una tabella. Non può aiutare con che. Cercare il fresco di ripristino del registro abilitato e postare qui eventuali errori da registro.

OriginaleL’autore mrgordon | 2011-05-25

3 Replies
  1. 7

    La ragione “show tables;” opere è perché mysqld effettuerà una scansione del database di directory .frm solo file. Fintanto che esiste, si vede una definizione di tabella.

    Se avete importato i dati in MySQL e questo messaggio di errore accade, la prima cosa che vorrei subito fare è eseguire questo comando: (BTW Questo è il MySQL 5.1.45, ma funziona in MySQL 5.x comunque)

    mysql> show engines;
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
    | BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    | FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
    | ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    8 rows in set (0.00 sec)

    Se il server si sono importati i dati dice InnoDB è disabilitata, allora avete un grosso problema. Qui è che cosa si dovrebbe fare:

    1) eliminare tutti i Dati da Importare DB Server

    2) Pulizia InnoDB Installazione

    3) eseguire SHOW MOTORI; e assicurarsi InnoDB è pienamente operativo !!!

    4) Ricaricare il mysqldump nel nuovo server di importazione

    Provare !!!

    OriginaleL’autore RolandoMySQLDBA

  2. 2

    Ho avuto questo problema quando ho cambiato da un server windows a un server Linux.
    Le tabelle sono file e file di windows sono caso insesitive, ma i file di linux sono case sensitive.

    Nella mia applicazione, nella query sql, alcune volte ho usato il maiuscolo tablenames e altre volte minuscole, così, a volte, ho ottenuto lo stesso risultato.

    OriginaleL’autore jenkin90

  3. 0

    Ho mio caso è stato SQLCA.DBParm parametro.

    Ho usato SQLCA.DBParm = "Databse = "sle_database.text"" ma deve essere

    SQLCA.DBParm = "Database='" +sle_database.text+ "'"

    Spiego : avete intenzione di combinare tre stringhe :

    a) Database='               - "Database='"
    
    b) (name of the database)   - +sle_database.text+
    
    c) ' - "'"

    OriginaleL’autore Marek

Lascia un commento