sql >> Database >  >> RDS >> Mysql

MySQL Table bestaat niet fout, maar het bestaat wel

Dit overkwam mij gewoon en na een tijdje vond ik het antwoord op een blogartikel, en wilde het hier ook plaatsen.

Als u de MySQL-gegevensmap kopieert van /var/lib/mysql naar /path/to/new/dir , maar kopieer alleen de databasemappen (d.w.z. mysql , wpdb , ecommerce , etc) EN je hebt wel innodb-tabellen, je innodb-tabellen zullen verschijnen in 'toon tabellen', maar vragen erop (select en describe ) mislukt, met de fout Mysql error: table db.tableName doesn't exist . Je ziet de .frm bestand in de db directory, en vraag je af waarom.

Voor innodb-tabellen is het belangrijk om de ib* . te kopiëren bestanden, die in mijn geval ibdata1 . waren , ib_logfile0 , en ib_logfile1 . Nadat ik de overdracht had uitgevoerd en ervoor gezorgd had dat ik deze had gekopieerd, werkte alles zoals verwacht.

Als uw my.cnf-bestand "innodb_file_per_table" bevat, zal het .ibd-bestand aanwezig zijn in de db-directory, maar u hebt nog steeds de ib*-bestanden nodig.



  1. De voordelen van PostgreSQL

  2. Hoe onderscheid te maken tussen dezelfde veldnamen van twee tabellen in een selectiequery?

  3. Hoe CSV-bestandsgegevens importeren in een PostgreSQL-tabel?

  4. Hoe gebruiker in Superuser te veranderen in PostgreSQL