sql >> Database >  >> RDS >> Mysql

InnoDB-tabellen bestaan ​​in MySQL, maar zeggen dat ze niet bestaan ​​na het kopiëren van de database naar een nieuwe server

De reden "toon tabellen;" werkt is omdat mysqld de databasedirectory alleen zal scannen op .frm-bestanden. Zolang ze bestaan, ziet het een tabeldefinitie.

Als u de gegevens in MySQL hebt geïmporteerd en deze foutmelding verschijnt, zou ik onmiddellijk deze opdracht uitvoeren:(BTW Dit is MySQL 5.1.45, maar werkt toch in MySQL 5.x)

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)

Als de server waarin je de gegevens hebt geïmporteerd zegt dat InnoDB is uitgeschakeld, heb je een groot probleem. Dit is wat u moet doen:

1) Verwijder alle gegevens van de nieuwe import-DB-server

2) InnoDB-installatie opschonen

3) start SHOW MOTOREN; en zorg ervoor dat InnoDB volledig operationeel is !!!

4) Laad de mysqldump opnieuw in de nieuwe importserver

Probeer het eens !!!



  1. Pijlnotatie

  2. Oracle leest bestand uit directory met uitzondering

  3. Relationele versus niet-relationele databases - Deel 3

  4. Sql-bestand in Windows importeren naar postgresql