J'ai rencontré un mur de briques en essayant d'installer MySQL v5.5 sur ma machine.
Mon PC est Windows 7 x64, édition Enterprise.
MySQL s'installe correctement, mais lorsque j'exécute l '"Assistant de configuration d'instance MySQL", il s'arrête indéfiniment à l'étape "Démarrer le service" (je peux le laisser fonctionner pendant 30 minutes sans réponse). Si je vais dans les services, je vois que le service "MySQL" n'a pas démarré, et si j'essaye de le démarrer, il dit "Windows n'a pas pu démarrer le service MySQL sur l'ordinateur local. Erreur 1067: le processus s'est terminé de façon inattendue."
J'ai essayé ce qui suit:
Ma machine fonctionne à 100% de toutes les autres manières. InfiniDB (une base de données compatible MySQL) s'installe à 100%, tout comme Visual Studio 2010, Microsoft SQL Server, etc., etc.
Vos conseils sur la façon de contourner ce problème?
p.s. Voici l'écran sur lequel il est resté bloqué pendant 15 minutes jusqu'à ce que je tue le processus:
Mise à jour 2010-12-20
J'ai essayé MySQL v5.1, cela n'a pas fonctionné non plus. C'est incroyable - si vous tapez "mysqld /?", Ou "mysqld -help", cela ne vous aide pas. Et, si vous essayez de redémarrer le service manuellement, il n'affiche aucun message d'erreur. Cela pourrait-il être plus inutile?
Mise à jour 21/12/2010
Installé MySQL 6.0 alpha, et cela a fonctionné. Cependant, je préfère ne pas utiliser une version alpha, étant donné que la version "stable" est tout sauf :(
Mise à jour 21/12/2010
Trouvé http://dev.mysql.com/doc/refman/5.1/en/windows-troubleshooting.html , traitant du dépannage sous Windows.
Découvert que vous pouvez générer un journal des erreurs si le service ne démarre pas - voir ici: http://dev.mysql.com/doc/refman/5.1/en/error-log.html
Mise à jour 21/12/2010
Aha! Un indice. Pour voir réellement l'erreur, ajoutez "--console":
mysqld --console
Cela renvoie:
101221 13:57:28 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use Windows interlocked functions
InnoDB: Compressed tables use zlib 1.2.3
101221 13:57:28 InnoDB: Initializing buffer pool, size = 203.0M
101221 13:57:28 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file .\ib_logfile0 is of different size 0 56623104 bytes
InnoDB: than specified in the .cnf file 0 106954752 bytes!
101221 13:57:28 [ERROR] Plugin 'InnoDB' init function returned error.
101221 13:57:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
101221 13:57:28 [ERROR] Unknown/unsupported storage engine: INNODB
101221 13:57:28 [ERROR] Aborting
101221 13:57:28 [Note] mysqld: Shutdown complete
Mise à jour 21/12/2010
Il s'installe désormais correctement. Voir la réponse ci-dessous.
Voici comment j'ai résolu le problème:
Étape 1: Par défaut, il est impossible de trouver la raison pour laquelle le service ne démarre pas. Donc, dites-lui de démarrer en mode non-service et de diriger les erreurs vers la console:
mysqld --console
Étape 2: Dans mon cas particulier, j'ai dû supprimer le contenu de:
C:\ProgramData\MySQL
... puis réinstallez. Le programme d'installation de MySQL v5.5 a un bug: si vous désinstallez MySQL v5.5 pour résoudre un problème avec une mauvaise installation, il ne parvient pas à nettoyer C:\ProgramData\MySQL, ce qui signifie qu'il est impossible d'installer MySQL v5.5 sur cette machine, à partir de ce moment, sans supprimer ce répertoire escroc.
Conseils:
Lettre ouverte à l'équipe de développement MySQL d'Oracle:
--- commencer la lettre ouverte à Oracle ---
Chère équipe de développement MySQL chez Oracle:
Si, lorsque MySQL est installé, le service ne démarre pas, veuillez nous en expliquer la raison en (a) nous pointant dans la direction du journal des erreurs ou (b) en affichant ce journal des erreurs.
Ne pas le faire jette Oracle dans une lumière incompétente.
Cordialement,
Tous ceux qui installent MySQL sur Windows.
--- fin de la lettre ouverte à Oracle ---
Je suis d'accord avec Gravitas mais vous n'avez pas besoin de faire une réinstallation (surtout lors de l'installation de MySQL
Serveur x.x dans un dossier différent de celui par défaut dans C:/Program Files /).
Ces étapes m'ont aidé à exécuter le service avec succès.Fonctionné dans Win7 x64, donc je suppose que x32 sera très bien :)
Ouvrez le fichier 'my.ini' où MySQL Server x.x est installé (le mien était 5.5 mais 5.1 est également OK)
Allez à la ligne où il est dit:
datadir=C:/ProgramData/MySQL/MySQL Server x.x/data
-> (Il s'agit du chemin par défaut)
Modifiez la ligne ci-dessus avec quelque chose comme ceci:datadir="<Drive_Letter>:/path/where/MySQL/is/installed/MySQL Server x.x/data/"
Copiez tout le contenu de C:/ProgramData/MySQL/MySQL Server x.x/
Dans le nouveau datadir désigné
SAUF ib_logfile0
& ib_logfile1
(Les déplacer ailleurs comme sauvegarde).
Supprimer C:/ProgramData/MySQL/MySQL Server x.x/
.
Relancez MySQLInstanceConfig
.
Cochez TCP/IP networking
Mais NE PAS modifier les paramètres de sécurité (ne pas les modifier).
Démarrer le service (ib_logfile(1,2)
sera régénérée).
P.S .: Redémarrez et nettoyez les fichiers temporaires -après le redémarrage- avec CCleaner. Pour une raison (bizarre?), Vous ne pouvez pas vous connecter au SGBD MySQL à partir d'un IDE ou MySQL Workbench CE x.x après avoir appliqué les paramètres ci-dessus jusqu'au redémarrage.
REMARQUE: la modification des paramètres de sécurité entraînera le blocage de l'utilitaire de configuration en raison d'un autre bogue
introduit lors de l'activation de TCP/IP avec tout autre paramètre.
J'espère que cela t'aides!
Ajout de la logique innodb_flush_method=normal
à my.ini
a fonctionné pour moi. Je suis sous Windows 7 x64 exécutant MySQL 5.7, déplaçant les bases de données vers un disque dur de 3 To. Une procédure rapide:
net stop sqlXX
data
avec la commande xcopy "C:\ProgramData\MySQL\MySQL Server X.X\data" "<new_directory>\data" /s
"<new_directory>\data"
supprimer ib_logfile0
et ib_logfile1
C:ProgramData\MySQL\MySQL Server X.X\my.ini
, ensemble datadir="<new directory>/data"
, ajouter innodb_flush_method=normal
en bas du fichier et enregistreznet start mysqlXX
Ici, le XX est votre numéro de version. J'utilise 5.7, j'ai donc utilisé net start mysql57
.
Selon la discussion liée, la valeur par défaut de ceci est innodb_flush_method=unbuffered
, qui dépend d'une taille de secteur de 512 octets, ce qui est normal pour les disques durs <2 To. Si le disque dur est> 2 To, il sera généralement formaté avec des secteurs de 4096 octets, provoquant l'erreur 1067.
J'avais également essayé tout ce qui précède et c'est la seule chose qui l'a résolu.
Ce que j'ai fait
Btw, j'ai vidé la base de données avec mysqldump --all-databases juste au cas où :)
http://mydailytech.com/post/how-to-fix-mysql-error-1067/
vérifiez et suivez le lien ci-dessus - il devrait résoudre comme il l'a fait dans mon cas.
J'espère que cela pourra aider
Pour mémoire, j'ai essayé pendant plusieurs heures d'obtenir 5.5.20
à installer sur Windows 2008 64bit
. Cela ne commencerait jamais. J'ai essayé tous les exemples que je pouvais trouver pour corriger. Y compris la réponse acceptée ici. Jamais travaillé.
J'ai donc rétrogradé à 5.1.61
et cela a fonctionné comme un champion. Première fois.
Extrait du site Web que rigatum a publié:
Lors de l'installation de MySQL, si vous l'installez dans un répertoire non standard, vous devrez spécifier où se trouve le chemin de votre fichier par défaut avant de pouvoir exécuter MySQL ou installer le service MySQL, sinon vous obtiendrez l'erreur 1067.
Ouvrons d'abord l'invite de commande. Accédez à votre dossier d'installation MySQL et trouvez où se trouve mysqld.exe. Exécutez ensuite ceci:
mysqld –remove MySql
Cela désinstallera le service MySQL. Réinstallez maintenant le service avec le paramètre defaults-file:
mysqld –install <service name> –defaults-file=<full path of “my.ini” file>
Par exemple:
mysqld –install MySql –defaults-file=c:\mysql\my.ini
Profitez de votre installation MySQL sans erreur.
Et j'ajoute simplement - non seulement programdata\mysql doit être supprimé dans ce cas mais aussi le dossier innoDB:\mysql datafiles