Erreur Inconnue "table de moteur "InnoDB" à la requête. après le redémarrage de mysql
J'ai de bases de données mysql sur le serveur S1 (version de mysql 5.1.41-3ubuntu12.7-journal), j'ai créé le maître-esclave pour la bd sur le serveur S2 (version de mysql 5.1.54-1ubuntu4-log).
la DB sur S1 a l'aide d'un fichier de données (ibdata). après un dump de la DB à S2 j'ai mis innodb_file_per_table=1. de ce fait, chaque table a ses propres mii fichier. maintenant, tout s'est bien passé et en douceur.
mais après le redémarrage de mysql sur le S2, j'ai fait face à un problème à l'obtention de cette erreur:
Error 'Unknown table engine 'InnoDB'' on query. Default database: MyDB
et quand j'essaie de montrer les moteurs de
montrer des moteurs; +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Moteur | Support | Commentaire | Transactions | XA | points de sauvegarde | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MyISAM | DEFAULT | moteur par Défaut de MySQL 3.23 avec d'excellentes performances | non | NON | NON | | MRG_MYISAM | OUI | Collection de l'identique les tables MyISAM | non | NON | NON | | BLACKHOLE | OUI | /dev/null moteur de stockage (tout ce que vous écrivez à ce qu'il disparaisse) | non | NON | NON | | CSV | OUI | CSV moteur de stockage | non | NON | NON | | MÉMOIRE | OUI | Hachage en fonction, stockées dans la mémoire, utile pour les tables temporaires | non | NON | NON | | FÉDÉRÉS | NON | Fédérés MySQL moteur de stockage | NULL | NULL | NULL | | ARCHIVE | OUI | Archive moteur de stockage | non | NON | NON | +------------+---------+----------------------------------------------------------------+--------------+------+------------+
innodb n'est pas répertorié.
dans le journal des erreurs que je peux voir ceci:
InnoDB: Base de données écrit physiquement le fichier complet: attendre... InnoDB: Impossible d'initialiser les fichiers journaux créés parce que InnoDB: les données des fichiers sont corrompus, ou de nouveaux fichiers de données ont été InnoDB: créé lorsque la base de données a démarré précédente InnoDB: le temps, mais la base de données n'a pas été arrêté InnoDB: normalement après ça. 111016 8:24:11 [ERREUR] Plugin "InnoDB" init de la fonction d'erreur renvoyé. 111016 8:24:11 [ERREUR] Plugin 'InnoDB' enregistrement en tant que MOTEUR de STOCKAGE échoué. 111016 8:24:11 [Avertissement] Ni --relay-log ni --relay-log-indice a été utilisé; ainsi la réplication peut se casser lorsque ce serveur MySQL agit comme un esclave et son nom d'hôte changé!! Veuillez utiliser '--relay-log=S2-relais-bin " pour éviter ce problème.
J'ai essayé de supprimer ib_logfiles mais cela ne fonctionne pas aussi bien.
toute personne confrontée à ce problème avant? toute idée est très apprécié
Grâce
OriginalL'auteur Alaa | 2011-10-16
Vous devez vous connecter pour publier un commentaire.
Vous pouvez supprimer le log InnoDB dans vos fichiers de données mysql répertoire appelé ib_logfile0 et ib_logfile1.
Ne supprimez pas le fichier de données InnoDB (ibdata1).
Après, InnoDB va essayer de récupérer après le redémarrage de mysqld.
regardez principal fichier journal:
ouais, dans mon cas il suffit de redémarrer mysqld a aidé, merci
OriginalL'auteur Nikl
Eu le même problème après le serveur de l'accrochage et le redémarrer.
De données est d'accord - le message d'erreur est très trompeur.
Arrêter le service MySQL, supprimer les fichiers journaux (
ib_logfile*
) à partir de/var/lib/mysql
, et démarrer le service MySQL dos.Juste faire certain à 100% que MySQL est réellement en panne lors de la suppression des fichiers journaux.
OriginalL'auteur Sych
Je pense que la configuration de mysql pour innodb si vous définissez
innodb_buffer_pool_size = 2G
, innodb ne fonctionnera pas.Habituellement, il donne une erreur
si vous sélectionnez une table avec innodb système essayez innodb_buffer_pool_size = 1G.
OriginalL'auteur Pathic
Avez-vous compiler mysql avec innodb? Si vous l'avez fait, vous devriez avoir les boules de lignes de référence lorsque vous exécutez cette:
OriginalL'auteur user314104
J'ai rencontré le même problème. Nikl réponse m'a aidé à trouver le problème dans le fichier journal principal. InnoDB n'a pas pu allouer de la mémoire au démarrage. Après le nettoyage de certains autres, tout processus de démarrer correctement.
Journaux ont révélé ce qui suit:
160219 9:20:23 InnoDB: Error: cannot allocate 12884918272 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 49601872 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
OriginalL'auteur Martin