web-dev-qa-db-fra.com

Erreur 1067 lors de la tentative de démarrage de MySQL

J'ai installé MySQL sous Windows 7. Lorsque j'essaie de démarrer le service MySQL, l'erreur 1067 s'affiche: le processus s'est arrêté de manière inattendue. Message du journal:

101111 22:27:11 [Note] Plugin 'FEDERATED' is disabled.
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist
101111 22:27:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: Log scan progressed past the checkpoint lsn 0 37356
101111 22:27:11  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 44233
101111 22:27:11  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
101111 22:27:12  InnoDB: Started; log sequence number 0 44233
101111 22:27:12 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.Host' doesn't exist

Que puis-je faire à ce sujet?

19
Eugene

La solution consistait à installer MySQL sans espaces dans le chemin d'installation . Windows 7, 64 bits

24
Eugene

Une autre chose qui empêche le service Windows mysqld de s'exécuter, c’est que si mysqld.exe est déjà en cours d’exécution (mais pas en tant que service) et que vous occupez le port 3306. Lorsque le service tente de démarrer et constate que le port 3306 est déjà pris, il échoue.

Ouvrez simplement le gestionnaire de tâches Windows et recherchez "mysqld.exe" sous l'onglet Processus. Si vous le voyez, éliminez-le, puis essayez de redémarrer le service.

c:\> net start [servicename]

exemple: c: \> net start MySQL

15
TxRegex

La solution au problème pour moi était de chercher dans mon répertoire d'installation, de trouver le dossier/data et de copier son contenu dans le dossier de données spécifié dans mon fichier de configuration .ini/.cnf. 

10
MrMan

Mon problème est arrivé juste après une panne de courant. J'ai eu l'erreur 1067 Le processus s'est terminé de manière inattendue. Inutile de dire que MySQL n'a pas commencé. La réponse était simple

  1. Ouvrir le chemin mysql\data
  2. Supprimez (supprimez) ib_logfile0 et ib_logfile1.
  3. Démarrer le service
6
Sean

Je viens de rencontrer un problème similaire et j'ai constaté qu'il s'agissait d'un problème d'autorisation. Lorsque je copie la base de données "data", je dois ajouter l'autorisation de "NETWORK SERVICE"

3
Eric Chan

J'ai eu un problème pour changer le datadir dans my.ini pour Windows 7. 

Je voulais que les données soient stockées sur un autre lecteur et je les déplaçais depuis un autre PC en copiant le dossier entier. J'ai changé datadir sur le lecteur souhaité et sauvegardé le fichier my.ini sans aucun problème.

Mais MySQL ne commencerait pas. J'ai ouvert le fichier my.ini à nouveau et il semblait avoir été modifié ..__ Ensuite, j'ai remarqué que la date du fichier my.ini n'avait pas changé. J'ai donc dû modifier les privilèges de sécurité pour pouvoir y accéder en écriture.

Cette fois, lorsque je l’ai sauvegardé, la date a changé et mysql a démarré l’accès à toutes les données correctes.

2
sam owens

J'ai eu le même problème. Dans mon cas, c'était une "erreur d'utilisateur" (bien que le programme d'installation de Windows aurait dû être plus intelligent à ce sujet et m'a empêché de commettre une telle erreur).

Lors de l'installation, si vous modifiez les chemins d'installation par défaut, veillez à utiliser les mêmes chemins pour les "fichiers de données du serveur" de l'écran Installation personnalisée, puis pour les "Paramètres de tablespace InnoDB" lors de la "Configuration d'instance de serveur MySQL Sorcier"

2
Cesar

Avant de jouer avec trop de choses, veuillez vérifier auprès de l'utilisateur que le service tente de s'exécuter en tant que. Dans mon cas, c’était NETWORK, celui-ci n’avait pas d’autorisation d’écriture sur certains emplacements où cela était nécessaire. Changer l’utilisateur en compte système local a fait l’affaire. 

Si l'observateur d'événements indique une erreur telle que "Impossible de créer le fichier de test C:\Program Files\MySQL\Serveur MySQL 5.6\data\XXX.lower-test" , la probabilité de cette solution de fonctionner est élevée .Bonne chance!

1
isuru chathuranga

J'ai le dossier de données mysql remplacé par une jonction de répertoire Windows . Je soupçonne ib_logfile0/1 et/ou ibdata1 est corrompu.

Essayez simplement de supprimer ces fichiers et nom_ordinateur.err. Puis redémarrez le service mysql ... C'est ce que j'ai fait avec succès. 

Copier les fichiers ibdata1, après une réinstallation complète de mysql, dans le répertoire de jonction et le remplacer par une autre, redémarrer mysql ne suffisait pas.

Vous devez laisser mysql reconstruire ces fichiers.

1
skyrail

Dans mon cas, j'ai décompressé XAMPP dans un deuxième disque de mon installation, "F". Lorsque j'ai essayé de démarrer en tant que service, le retour était "1067". La solution consistait à modifier my.ini en insérant le lecteur "f:" dans les lignes de fichiers. Cela a résolu le problème. 

0
Joao Goulart

quand on regarde mysql log (fichier .err sous le dossier de données), je peux voir ce qui suit 

21:41:47 UTC - mysqld a eu une exception 0xc0000005; .__, probablement parce que vous avez rencontré un bogue. Il est également possible que ce fichier binaire .__ ou l'une des bibliothèques auxquelles il était lié soit corrompu, mal construit, .__ ou mal configuré. Cette erreur peut également être provoquée par un dysfonctionnement du matériel . Tenter de collecter des informations susceptibles de vous aider à diagnostiquer le problème . Comme il s’agit d’un crash et que quelque chose est tout à fait faux, le processus de collecte des informations peut échouer.

Je me suis rendu compte que je commençais le service alors que je me suis connecté USB. Pour être honnête, le problème a été résolu après le redémarrage de ma machine, suivi du redémarrage du service. De plus, j'ai supprimé les fichiers ib_logfile0 et ib_logfile1 avant mon redémarrage. Bien que l'enregistreur d'événements indique "InnoDB: votre base de données est peut-être corrompue ou vous avez peut-être copié le tablespace InnoDB mais pas les fichiers journaux InnoDB. Veuillez vous référer à http://dev.mysql.com/doc/refman/5.7/ en/forcing-innodb-recovery.html pour information 

Blockquote

à propos du forçage de la récupération.Pour plus d'informations, consultez le Centre d'aide et de support à l'adresse http://www.mysql.com ", je ne le pense pas, car je n'ai jamais modifié de configuration. 

0

J'ai eu la même erreur et cela a été causé par des caractères non standard dans le chemin des fichiers journaux . Afin de remédier à cela, j'ai trouvé le fichier de configuration my.ini (dans mon cas, C:\ProgramData\MySQL\MySQL Server 5.6\my.ini) et les clés modifiées slow_query_log_file et log-error. . Après cela, j'ai réussi à démarrer le service MySQL avec succès.

0
mordka

Dans mon cas, j'avais choisi un chemin personnalisé pour mes fichiers journaux dans le programme d'installation de MySQL. J'avais mis les fichiers journaux dans mon dossier utilisateur C:\Users\%MY_USERACCOUNT%\Documents\mysql-logs et, par défaut, NETWORK SERVICE (ou tout autre compte utilisateur non administrateur sous Windows) n'a pas accès au dossier d'un utilisateur.

J'ai résolu ce problème en modifiant les options de sécurité du dossier de log, en donnant les droits de modification en lecture/écriture/droits de modification sur NETWORK SERVICE .

Dans mon cas, afin de supprimer un schéma lourd du serveur mysql, je suis allé dans C:\ProgramData\MySQL\MySQL Server 5.7\Data et a supprimé le dossier correspondant. Mais ce n’était pas en train d’être supprimé car mysqld.exe l’empêchait. donc j'ai arrêté mysqld.exe, supprimé le dossier, puis tous les schémas ont disparu de la liste dans mysql workbench. Peu importe combien j'ai essayé de redémarrer le service mysql, il n'a pas été restauré sauf si j'ai restauré ce dossier à partir de courrier indésirable .

0
Fadia Jabeen

Expérimenté la même erreur, voici la raison et la solution qui a fonctionné pour moi pour mysql-5.7.14-winx64

raison: le dossier DATA contient des dossiers et des fichiers par défaut manquants

solution : efface tout du dossier DATA, je suppose que c'est une nouvelle installation, donc sauvegardez tout ce dont vous avez besoin, voire pas du tout. Ensuite, lancez ceci à partir de la commande Invite et cela créera les fichiers et les dossiers requis "Mysqld --initialize --console" Lancez à présent "mysqld" et cela devrait fonctionner correctement.

0

dans mon cas innodb_data_home_dir n’était plus correct car j’avais mélangé des lettres de lecteur lorsque j’ai ajouté un nouveau lecteur à mon système

0
Michael White

Vérifiez également si tous les répertoires que vous avez écrits dans le my.ini existent.

Mon problème était que tmpdir n’existait pas, le démon MySQL tombe avec l’erreur 1067.

[mysqld]
port= 3306
tmpdir = "C:/tmp"

Dans ce cas, C:/tmp doit exister.

0
pulzarraider

Vérifiez le fichier "C:\Program Files\MySQL\MySQL Server 5.1\my.ini"

La ligne datadir dans my.ini doit spécifier un chemin. Vérifiez le contenu de ce chemin datadir. Contient-il un dossier nommé "mysql" et un autre dossier nommé "test"?

Si non, voici deux choix:

  1. Modifiez la ligne datadir dans my.ini au bon emplacement. Ce sera probablement C:\ProgramData\MySQL\MySQL Server 5.1\data

  2. Nettoyez le contenu existant de votre chemin datadir. Copiez le contenu des données C:\ProgramData\MySQL\MySQL Server 5.1\dans votre chemin datadir. Le redémarrage du service mysql devrait reconstruire votre base de données vide.

0
user281806

Dans mon cas, une autre version de MySQL était installée et fonctionnait . J'ai trouvé ceci en allant dans le fichier mysql_error.log . Je résous ce problème en accédant aux services, en arrêtant la version courante de MySQL et en configurant un manuel. , et démarrer le mysql nécessaire.

0
Jessica

Je reçois également un journal avec la table 'mysql.plugin' n'existe pas Si vous installez MYSQL Server 5.1 avec 'msiexec.exe' DataDir je mets comme C:\MYSQL\MySQL_Server_5_1\data \

mais à ma grande surprise a été créer des données dans un C:\MYSQL\MySQL_Server_5_1\data\data

Il y avait était ajouter Word data . Je change donc le fichier my.ini de 

datadir="C:/MySQL/MySQL_Server_5_1/Data/" .

au 

datadir="C:/MySQL/MySQL_Server_5_1/Data/data"

et puis je peux utiliser net start MYSQL51 puis mysqld.exe est exécuté et apparaît dans un gestionnaire de tâches  

0
SP9AUV

J'exécute MariaDB (compatible MySQL) sur deux machines localement. Je ne sais pas ce qui a provoqué l'erreur et rien de ce que j'ai essayé n'a fonctionné. J'ai donc arrêté le service, supprimé tout ce qui se trouvait dans le répertoire de MariaDB (à l'exception du répertoire de données) et copié les fichiers de mon ordinateur secondaire, et tout fonctionne assez bien pour autant que je sache.

Pour un serveur actif, ce serait un peu différent et un super-gourou pourrait pourrait ajouter un commentaire (par exemple, quelque chose en dehors du répertoire de données pourrait avoir quelque chose à voir avec la prévention de la corruption des données ou des index par exemple? ). Je voudrais juste arrêter le service et copier l'intégralité du répertoire une fois par mois environ, puis redémarrer le service.

0
John

Dans mon cas, cela n'a rien à voir avec des espaces dans le nom du fichier. J'ai utilisé la configuration personnalisée du programme d'installation MSI et ai choisi d'exclure les bases de données par défaut, en supposant qu'il s'agissait simplement de quelque chose comme Northwind/Adventureworks. Non, il comprend la base de données système MySql principale ... une fois que j'ai ajouté cela à l'installation, cela a fonctionné.

0
nathanchere

J'ai rencontré les mêmes erreurs. Approche similaire pour moi. D'après ce que je peux dire, la référence à datadir dans le fichier my.ini a quelque chose de bizarre. Même lorsque je l'ai modifié manuellement, je ne pouvais pas sembler avoir d'effet dessus, jusqu'à ce que je perde tout. Je voudrais avoir de meilleures nouvelles ... faire une sauvegarde de base de données en premier. 

Pour moi, la clé pour que cela fonctionne est la suivante:

1) Supprimez l'installation précédente dans Paramètres-> Panneau de configuration. Redémarrez votre ordinateur . 2) Une fois la machine redémarrée, supprimez de force le répertoire d’installation précédent. [le mien est C:\apps\MySQL\MySQLServer-5.5 \, comme je REFUSE d'utiliser des fichiers c:\program .. 3) Supprime de force le répertoire datadir précédent [le mien était c:\data\mysql] . 4) Supprimer de force le répertoire de données par défaut précédent [C:\Documents and Settings\All
Users\Application Data\MySQL] . 5) Exécutez à nouveau l'installation en sélectionnant le même répertoire d'installation. Ignorer l'instance configurateur/assistant à la fin de l’installation . 6) Assurez-vous que le répertoire ../bin est ajouté au chemin. Vérifiez-le . 7) Exécutez manuellement le configurateur d’instance/l’assistant.
Définissez le mot de passe root, port [3306] . Il va essayer de le démarrer. Encore une fois, le mien a échoué pour commencer [duh! rien de nouveau là-bas !!! ] 8) Maintenant, éditez manuellement le fichier my.ini dans le répertoire d'installation et corrigez le datadir paramétré sur [datadir = "C:/Data/MySQL /"] MAJUSCULES !!!! 9) Vérifiez que le service est correctement configuré via l'invite de commande [sc qc mysql].
Devrait ressembler à:

C:\dev\cmdz> sc qc mysql [SC] GetServiceConfig SUCCESS

SERVICE_NAME: mysql TYPE: 10 WIN32_OWN_PROCESS START_TYPE: 2 AUTO_START ERROR_CONTROL: 1 NORMAL BINARY_PATH_NAME: "C:\apps\MySQL\MySQLServer-5.5\bin\mysqld" --defaults-file = "C:\apps\MySQL\MySQLServer-5.5\my.ini" MySQL. LOAD_ORDER_GROUP: TAG: 0 DISPLAY_NAME: MySQL DÉPENDANCES: SERVICE_START_NAME: Système local

10) Copiez le contenu du répertoire de données par défaut créé sous C:\Documents and Settings\Tous les utilisateurs\Données de l'application\MySQL [essentiellement tout ce qui se trouve dans ce répertoire à votre désiré répertoire de données c:\data\mysql]. Assurez-vous d’obtenir le C:\Documents and Settings\All
Répertoire Users\Application Data\MySQL\mysql. Cela a un fichier Host.frm, et d'autres.
Vous devriez maintenant vous retrouver avec un répertoire de c:\data\MySQL\mysql ...

11) Renommez le répertoire par défaut C:\Documents and Settings\Tous les utilisateurs\Application Data\MySQL À C:\Documents and Settings\Tous les utilisateurs\Données d'application\MySQLxxx Donc, il ne peut pas le trouver ... 

12) Dites une prière rapide ...

13) Donnez un coup de pied de démarrage en ligne de commande avec [net start mysql]

Cela a fonctionné pour moi ...

Bonne chance!

0
eric manley

... une vieille ... de toute façon j'ai eu le même problème avec MariaDB

Dans mon cas, la plupart des chemins contiennent des caractères spéciaux, tels que: #

datadir="C:/#windata64/db/MariaDB/data"
0
Quicker

Le problème semble indiquer qu’il n’ya pas de données dans le répertoire . Copiez au moins le répertoire mysql à partir de votre répertoire précédent ou de C:\Program Files\MySQL\Serveur MySQL 5.5\data . Et réessayez.

0
Roman M