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

14

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 (TCP et UDP, entrant et sortant).
  • 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?

ps Voici l'écran sur lequel il est resté bloqué pendant 15 minutes jusqu'à ce que je tue le processus:

texte alternatif

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 2010-12-21

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 2010-12-21

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 2010-12-21

Ah! 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 2010-12-21

Il s'installe désormais correctement. Voir la réponse ci-dessous.

Contango
la source
Dans mon cas, le fichier "my.ini" avait des chemins d'accès mal configurés. J'espère que cela aide quelqu'un d'autre.
scepeda

Réponses:

11

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 tous les services existants, utilisez "sc delete MYSQLxx".

Lettre ouverte à l'équipe de développement MySQL d'Oracle:

--- commencer une 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 informer pourquoi soit (a) en nous pointant dans la direction du journal des erreurs, soit (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 ---

Contango
la source
3

Je suis d'accord avec Gravitas mais vous n'avez pas besoin de faire une réinstallation (en particulier lors de l'installation de MySQL
Server xx 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 xx 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-> (C'est le 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 datadir nouvellement désigné
SAUF ib_logfile0 & ib_logfile1(déplacez-les ailleurs comme sauvegarde).
Supprimer C:/ProgramData/MySQL/MySQL Server x.x/.
Relancez MySQLInstanceConfig.
Vérifiez TCP/IP networkingmais ne modifiez PAS les paramètres de sécurité ( ne les modifiez pas ).
Démarrer le service ( ib_logfile(1,2)sera régénéré).

PS: 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 de MySQL Workbench CE xx 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!

Kounavi
la source
2

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

rihatum
la source
Désolé, cela n'a pas résolu le problème. J'ai même essayé de le réinstaller dans C: \ MYSQL55 \ juste pour m'assurer que les longs noms de fichiers n'ont pas changé les choses, redémarrer ma machine, etc. Je commence à me demander si MySQL v5.5 et versions antérieures est tout simplement cassé sous Windows 7 x64?
Contango
2

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 d'une installation MySQL sans erreur.

AliGibbs
la source
Désolé, cela n'a pas résolu le problème. J'ai même essayé de le réinstaller dans C: \ MYSQL55 \ juste pour m'assurer que les longs noms de fichiers n'ont pas changé les choses, redémarrer ma machine, etc. Je commence à me demander si MySQL v5.5 et versions antérieures est tout simplement cassé sous Windows 7 x64?
Contango
1
non, ce n'est pas du tout cassé, je le fais fonctionner parfaitement sur 65 machines dev windows 7 au travail, 18 serveurs (à la fois nix et windows 2008R2), et sur mes ordinateurs personnels, mélange de fenêtres 2008 et sept. je pense qu'il ne désinstalle pas quelque chose correctement et c'est pourquoi il se bloque à un moment donné - cela m'est arrivé mais c'était il y a quelque temps. J'avais désinstallé, supprimé manuellement tous les répertoires mysql et supprimé l'instance de service également de Windows.
rihatum
2

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

tomas
la source
2

Pour mémoire, j'ai essayé pendant plusieurs heures 5.5.20de m'installer 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.61et cela a fonctionné comme un champion. Première fois.

cbmeeks
la source
2

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 autre chose.
  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 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ù :)

jojo mendoza
la source
2

Ajouter la logique innodb_flush_method=normalau my.initravail 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 datadossier avec la commandexcopy "C:\ProgramData\MySQL\MySQL Server X.X\data" "<new_directory>\data" /s
  3. Dans "<new_directory>\data"supprimer ib_logfile0etib_logfile1
  4. Ouvrez C:ProgramData\MySQL\MySQL Server X.X\my.ini, définissez datadir="<new directory>/data", ajoutez innodb_flush_method=normalen 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, donc j'ai utilisé net start mysql57.

Selon la discussion liée, la valeur par défaut pour cela 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=28913

dcmorse
la source