sql >> Database teknologi >  >> RDS >> Mysql

MySQL Table eksisterer ikke fejl, men den eksisterer

Dette skete lige for mig, og efter et stykke tid fandt jeg svaret på en blogartikel og ville også lægge det her.

Hvis du kopierer MySQL-databiblioteket fra /var/lib/mysql til /path/to/new/dir , men kopier kun databasemapperne (dvs. mysql , wpdb , ecommerce , osv.) OG du har innodb-tabeller, vil dine innodb-tabeller dukke op i "vis tabeller", men forespørgsler på dem (select og describe ) vil mislykkes med fejlen Mysql error: table db.tableName doesn't exist . Du vil se .frm fil i db-biblioteket, og undrer dig over hvorfor.

For innodb-tabeller er det vigtigt at kopiere over ib* filer, som i mit tilfælde var ibdata1 , ib_logfile0 , og ib_logfile1 . Da jeg først foretog overførslen og sørgede for at kopiere dem, fungerede alt som forventet.

Hvis din my.cnf-fil indeholder "innodb_file_per_table", vil .ibd-filen være til stede i db-biblioteket, men du har stadig brug for ib*-filerne.



  1. MySQL FULLTEXT indekser problem

  2. Oracle:Opdatering af en tabelkolonne ved hjælp af ROWNUM i forbindelse med ORDER BY-sætning

  3. Hvordan designer man en MySql-tabel til en tagsky?

  4. CAST vs ssis dataflow implicit konverteringsforskel