Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les tables InnoDB existent dans MySQL mais indiquent qu'elles n'existent pas après la copie de la base de données sur un nouveau serveur

La raison "afficher les tableaux ;" fonctionne parce que mysqld analysera le répertoire de la base de données à la recherche de fichiers .frm uniquement. Tant qu'ils existent, il voit une définition de table.

Si vous avez importé les données dans MySQL et que ce message d'erreur se produit, la première chose que je ferais immédiatement est d'exécuter cette commande :(BTW Ceci est MySQL 5.1.45, mais fonctionne de toute façon dans 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)

Si le serveur dans lequel vous avez importé les données indique qu'InnoDB est désactivé, vous avez un gros problème. Voici ce que vous devez faire :

1) Supprimez toutes les données du nouveau serveur de base de données d'importation

2) Nettoyage de la configuration InnoDB

3) exécuter des MOTEURS D'EXPOSITION ; et assurez-vous qu'InnoDB est pleinement opérationnel !!!

4) Recharger le mysqldump dans le nouveau serveur d'importation

Essayez-le !!!