web-dev-qa-db-fra.com

"Erreur 1067: le processus s'est terminé de manière inattendue" lors de la tentative d'installation de MySQL sur Win7 x64

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:

  • Désactiver le pare-feu.
  • Désinstallation de tous les logiciels antivirus.
  • Installation/réinstallation de la version 32 bits de MySQL.
  • Installation/réinstallation de la version 64 bits de MySQL.
  • Désinstallation, suppression du contenu de "C:\program files\MySQL" et "C:\program files (x86)\MySQL", réinstallation.
  • Vérification de l'absence de services malveillants nommés MySQL ???? (à partir d'une installation précédente).
  • Vérification que le port 3306 n'est pas utilisé par un autre programme.
  • Modification du port par défaut utilisé par MySQL.
  • Vérification de "my.ini" et "my.ini.cnf" dans "C:\windows" (rien là-bas mais cela peut causer un problème).
  • Exécution du programme d'installation de MySQL et de l'assistant de configuration en "mode administrateur".
  • Désactiver l'UAC.
  • Installation par défaut, sans rien changer.
  • Redémarrage de ma machine (environ 6 redémarrages jusqu'à présent).
  • Ouverture du port 3306 dans le pare-feu (les deux TCP et UDP, entrants et sortants).
  • Jurer devant le klutz d'un programmeur qui a conçu MySQL pour que vous ne puissiez même pas l'installer (comme si cela pouvait aider!)

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:

alt text

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.

14
Contango

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:

  • Assurez-vous de tuer toutes les instances de "mysqld" dans le moniteur de processus.
  • Pour supprimer tout service existant, utilisez "sc delete MYSQLxx".

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 ---

11
Contango

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!

3
Kounavi

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:

  1. Arrêtez le service dans l'invite de commande Windows avec net stop sqlXX
  2. Copiez le dossier data avec la commande xcopy "C:\ProgramData\MySQL\MySQL Server X.X\data" "<new_directory>\data" /s
  3. Dans "<new_directory>\data" supprimer ib_logfile0 et ib_logfile1
  4. Ouvert C:ProgramData\MySQL\MySQL Server X.X\my.ini, ensemble datadir="<new directory>/data", ajouter innodb_flush_method=normal en bas du fichier et enregistrez
  5. Redémarrez le service avec la commande net 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.

http://bugs.mysql.com/bug.php?id=2891

2
dcmorse

Ce que j'ai fait

  1. Le démon ne s'exécutant pas, je renomme le dossier de données sous Program Data\MySQL en quelque chose d'autre.
  2. Désinstaller mysql du panneau de configuration
  3. Réinstallez. La configuration des paramètres de sécurité échoue avec l'erreur # 1045. J'ai vérifié que MySQL a été installé en tant que service et que le mot de passe root est vide. J'ai vérifié cela en exécutant l'utilitaire mysql sans nom d'utilisateur. Lorsque vous êtes invité à réessayer ou à sauter, j'ai cliqué sur sauter et cliquer sur le bouton de retour jusqu'à la boîte de dialogue dans laquelle vous spécifiez le mot de passe root actuel et le nouveau mot de passe. Je supprime le mot de passe dans le champ du mot de passe root actuel car il est déjà vide et j'ai fourni mon nouveau mot de passe root. La configuration s'est poursuivie sans plus d'erreurs
  4. Arrêtez le service
  5. Copiez les dossiers de la base de données de l'ancien dossier de données qui a été renommé. N'a pas copié les fichiers journaux et le fichier ibdata.
  6. Collez les dossiers dans le dossier de données actuel (nouveau).
  7. Redémarré le service
  8. Testez dans l'utilitaire mysql pour voir si la base de données sera affichée, ce qu'elle a fait.

Btw, j'ai vidé la base de données avec mysqldump --all-databases juste au cas où :)

2
jojo mendoza

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

2
rihatum

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.

2
cbmeeks

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.

2
AliGibbs

Et j'ajoute simplement - non seulement programdata\mysql doit être supprimé dans ce cas mais aussi le dossier innoDB:\mysql datafiles

2
tomas