Problème de changement de innodb_log_file_size
Je n'ai pas fait beaucoup de peaufinage dans le passé, alors ce pourrait être relativement facile mais je suis en cours d'exécution dans des questions. C'est ce que je fais:
- Arrêter MySQL
- Modifier mon.cnf (changement de
innodb_log_file_size
) - Supprimer ib_logfile0/1
- Démarrer MySQL
Commence fine, cependant, toutes les tables InnoDB avoir le .frm fichier non valide erreur, l'état indique moteur InnoDB est désactivé si j'ai bien évidemment revenir en arrière, retirez le changement et tout fonctionne à nouveau.
J'ai été en mesure de modifier toutes les autres variables, j'ai essayé mais je n'arrive pas à trouver pourquoi InnoDB ne parvient pas à démarrer même après la suppression des fichiers journaux. Ai-je raté quelque chose?
Grâce.
Edit: le Collage du journal ci-dessous - regarde comme il semble toujours trouver le fichier journal, même si elles ne sont pas là?
Arrêt:
090813 10:00:14 InnoDB: Starting shutdown...
090813 10:00:17 InnoDB: Shutdown completed; log sequence number 0 739268981
090813 10:00:17 [Note] /usr/sbin/mysqld: Shutdown complete
De démarrage après avoir fait les changements:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
090813 11:00:18 [Warning] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
090813 11:00:18 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.81-community-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition (GPL)
090813 11:00:19 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './XXXX/User.frm'
090813 11:00:19 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './XXXX/User.frm'
090813 11:00:19 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './XXXX/User.frm'
C'est juste un spam de la même erreur jusqu'à ce que je corriger
Quand il a commencé après qu'il a recréé les fichiers journaux de sorte qu'il doit être à la recherche dans le même endroit où je suis.
OriginalL'auteur savageguy | 2009-08-13
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, je dois souligner qu'avant toute chage en InnoDB fichiers de données, il faut lire 13.2.5. L'ajout, la Suppression ou le Redimensionnement d'InnoDB Données et des Fichiers Journaux.
Les étapes vous l'avez souligné, sont presque correct. Il est recommandé de sauvegarde avant de ce type de changements. Permet de voir ce qui vous est arrivé:
Les messages d'erreur
sont causés par la modification de la taille de innodb_log_file_size et à ne pas supprimer les anciens fichiers. Probablement vous avez oublié de supprimer de
ib_logfile0/1
la première fois que vous avez exécuté mysqld après la modification. Le messagemontre que vous avez résolu ce problème (en supprimant
ib_logfile
s). Mais, sur les retirer vous créez l'autre problème. Les données de corrompu pour XXXX\Utilisateur.frm ou un problème avec le Moteur InnoDB.Pour être sûr que InnoDB est activé, exécutez cette commande sur une commande mysql:
Dans la liste des résultats doit avoir "
have_innodb = YES
". Parfois, lorsque InnoDB peut pas début (la valeur estNO
ouDISABLED
) leIncorrect information in file
message s'affiche.- Si c'est le problème, vous avez changé quelque chose d'autre qui empêche le Moteur InnoDB pour démarrer correctement (datadirs autorisations ou tmpdirs autorisations, d'autres innodb variables (vous navez pas afficher le journal complet.), etc.). Passer en revue les modifications ou mettre le
.cnf
fichiers (avant et après).- Si le Moteur InnoDB est
YES
ensuite, vous avez à réparer la table. (Si sa ce cas, ajoutez un commentaire et de Mauvais ajouter les informations ici. Im trop paresseux pour le faire maintenant).Je recommande pleine d'arrêt donc d'abord
SET GLOBAL innodb_fast_shutdown = 0;
OriginalL'auteur Leonel Martins
La première ligne de l'erreur suggère que vous n'avez pas supprimé le ib_logfile0. Pouvez-vous confirmer que vous êtes renommer /supprimer le droit?
OriginalL'auteur jDempster
Choses à vérifier:
OriginalL'auteur Jeff Ferland
Avez-vous essayé d'utiliser un Client SQL pour modifier le
innodb_log_file_size
champ?Personnellement, j'aime Écureuil
OriginalL'auteur John McG
Je soupçonne que vous avez supprimé les mauvais fichiers de log. regarder autour pour les autres ib_logfile* les fichiers. peut-être que vous utilisez innodb_log_group_home_dir ?
si oui, assurez-vous que vous avez retiré le ib_logfiles à partir de là et de ne pas le datadir.
OriginalL'auteur Omry Yadan