Sur Snow Leopard, le démarrage de MySQL donne l'erreur suivante:
Le serveur se ferme sans mettre à jour le fichier PID
my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
pid-file=/var/run/mysqld/mysqld.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Réponses:
essayez de trouver votre fichier journal avec le suffixe ".err", il devrait y avoir plus d'informations. Cela pourrait être dans:
C'est probablement un problème avec les autorisations
vérifier si une instance mysql est en cours d'exécution
si oui, vous devez l'arrêter ou tuer le processus
où
PID
est le numéro affiché à côté du nom d'utilisateur à la sortie de la commande précédentevérifier la propriété de
/usr/local/var/mysql/
s'il est propriétaire,
root
vous devez le changermysql
ouyour_user
la source
Avez-vous suivi les instructions de
brew install mysql
?Configurer des bases de données pour exécuter COMME VOTRE COMPTE UTILISATEUR avec:
Pour mysql 5.x:
Pour configurer des tables de base dans un autre dossier ou utiliser un autre utilisateur pour exécuter mysqld, consultez l'aide de
mysqld_install_db
:et consultez la documentation MySQL:
Pour mysql 8.x:
Assurez-vous que le répertoire de données
/usr/local/var/mysql
ci-dessus est vide, sauvegardez-le si nécessaire.Pour fonctionner en tant qu'utilisateur "mysql", par exemple, vous devrez peut-être
sudo
:Démarrez mysqld manuellement avec:
Remarque: si cela échoue, vous avez probablement oublié d'exécuter les deux premières étapes ci-dessus
la source
sudo chown -R your_user /usr/local/var/mysql/
comme la réponse demysqld_install_db
commande me donne l'erreurmysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
J'ai eu le même problème sur ma machine Mac (j'ai correctement suivi toutes les étapes d'installation suggérées par
brew install
).La suppression du fichier d'erreur l'a corrigé pour moi:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
est mon nom d'hôte)Cela a fonctionné car
dev.work.err
appartenait à la_mysql:wheel
place de mon propre nom d'utilisateur. CHANGER le fichier d'erreur l'aurait probablement corrigé également.la source
Après le redémarrage, j'ai eu le même problème. Voici comment je l'ai corrigé:
la source
sudo chown -R _mysql /usr/local/mysql/data
Cela a fonctionné pour moi ...
Vérifiez tous les processus MySQL en cours d'exécution:
Tuez ensuite tous les processus répertoriés à partir de la commande ci-dessus à l'aide de ce qui suit:
Remplacez
[PID]
par le PID individuel de la liste ci-dessus, par exemple5970
.Faites cela pour toutes les lignes que vous voyez avec la première commande.
Ensuite, vous pouvez redémarrer votre serveur MySQL:
la source
pkill mysql
pour tuer tous les processus qui correspondent à "mysql" (-9
n'est pas nécessaire dans la plupart des cas).Cette erreur peut se produire lorsque vous essayez de démarrer msql après un arrêt incorrect.
Jetez un œil au fichier journal des erreurs mysql. S'il mentionne quelque chose comme "Vérifiez que vous n'avez pas encore un autre processus mysqld utilisant les mêmes données ou fichiers journaux." , vous devez alors arrêter correctement ce processus.
Voir sur quel processus mysql s'exécute, utilisez cette commande:
lsof -i:3306
Votre sortie devrait ressembler à ceci:
kill -15 4249
mysql.server start
la source
Mon fichier d'erreur m'a également indiqué que le port peut être utilisé par un autre processus, mais simplement l'exécution a
sudo mysql.server start
résolu le problème pour moi.la source
Essayez de supprimer
ib_logfile0
et deib_logfile1
fichiers, puis réexécutez mysqlÇa marche pour moi.
la source
.err
fichier dans le même répertoire, ce qui a fonctionné pour moi.ib_log*.bak
Si personne ne vous a aidé, supprimez simplement le dossier
/usr/local/var/mysql
, puis réinstallez mysqlbrew reinstall mysql
.la source
brew reinstall [email protected]
résoudre.J'ai récemment rencontré ce problème, mais il fonctionnait auparavant, puis je me suis arrêté.
C'est parce que j'ai commencé
mysql.server
comme root au lieu de moi-même.Le correctif consistait à supprimer le fichier journal des erreurs (qui appartenait à
_mysql
). Le recommencer a réussi.la source
Pour moi, j'ai dû réinstaller mysql
puis ci-dessous Pour que launchd démarre mysql maintenant et redémarre à la connexion:
la source
La solution qui a fonctionné pour moi était ici: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied
Changer certaines de mes autorisations semblait faire l'affaire. J'utilise un Macbook Air mi-2012 avec OS X 10.8.2 et mysql a été installé avec homebrew.
la source
Pour moi, la solution était simple:
a montré que mysqld fonctionnait déjà
puis a permis au processus de démarrer
la source
J'ai rencontré ce problème lors de la tentative de mise à niveau de brew sur MacOS X 10.7.5.
Malheureusement, mysql a également été mis à niveau vers 5.6.10 à partir de 5.5.14. J'ai essayé le nouveau, n'a pas fonctionné.
J'ai décidé de revenir à mon ancienne configuration et j'ai fait un
Cela n'a pas résolu le problème. Ailleurs, j'ai lu et fait ça, le tour est joué! Tout était de retour :)
la source
brew upgrade mysql
etbrew switch mysql 5.7.17
qui était ma version précédente. Bizarre!J'utilise,
J'ai installé MySQL en utilisant homebrew ('brew install mysql'). Il a installé quelques dépendances puis mysql.
Quand j'ai essayé de le démarrer,
J'ai exécuté cette commande,
et MySQL fonctionne.
Veuillez noter que vous devez exécuter mysql_install_db à partir du niveau supérieur du répertoire mysql (IE, usr / local / Cellar / mysql / 5.5.25). L'exécuter directement dans le répertoire / scripts ne lui donne pas suffisamment de contexte pour qu'il s'exécute.
la source
Pour moi, la solution était de remplacer / corriger le répertoire de données dans / etc / my / cnf.
J'ai construit MySQL 5.5.27 à partir des sources avec les instructions fournies dans le fichier readme:
mysqld_safe s'est terminé sans explication. l'exécution a
/etc/init.d/mysql.server start
entraîné l'erreur:"Le serveur se ferme sans mettre à jour le fichier PID"
J'ai cependant remarqué quelque chose d'étrange dans les instructions d'installation. Il a changé de propriétaire en mysql pour le répertoire "data", mais pas en "var"; c'est inhabituel parce que pendant des années j'ai dû m'assurer que le répertoire var était accessible en écriture mysql. J'ai donc exécuté manuellement
chown -R mysql /usr/local/mysql/var
, puis essayé de le redémarrer. Toujours pas de chance. Mais pire, pas de fichier .err dans le répertoire var - c'était dans le répertoire "data"! donc scripts / mysql_install_db configure le camp dans / usr / local / mysql / var, mais le reste de l'application semble vouloir faire son travail dans / usr / local / mysql / data!Donc, je viens de modifier /etc/my.cnf et sous la section [mysqld] j'ai ajouté une directive pour pointer explicitement le répertoire de données de mysql vers var (comme je m'attends normalement à ce qu'il en soit ainsi), et après cela, mysqld démarre juste bien. La directive à ajouter ressemble à ceci:
datadir = / usr / local / mysql / var
A travaillé pour moi. J'espère que cela vous aide.
la source
Il semble que le processus MySQL soit en cours d'exécution, vous ne pouvez donc pas utiliser le port. Vous pouvez vérifier le processus MySQL en cours d'exécution à l'aide de la commande suivante:
ps auxf | grep mysql
Si vous obtenez un processus MySQL, tuez cet ID de processus en utilisant kill -9 PID, puis essayez de démarrer MySQL.
la source
Démarrez Mysql en mode sans échec
OU
sur MAC Fin tout
mysql
oumysqld
tâche (ou autre) dans votre application Moniteur d' activité.ou vérifiez votre erreur en
la source
Que dit le journal des erreurs? J'ai eu cette erreur, et cela a fini par être un ancien paramètre non valide dans le fichier my.cnf, indiqué par le journal des erreurs mysql. S'il ne s'agit pas d'un mauvais paramètre de configuration, le journal des erreurs devrait au moins vous orienter dans la bonne direction.
Eh bien, je suppose que l'OP l'a corrigé à ce stade ... mais j'espère que cela indique aux autres de voir cette erreur dans la bonne direction.
la source
À l'aide de quelques réponses publiées ici, j'ai pu trouver le problème
D'abord je cours
sudo -i
Je pouvais donc avoir un accès root.
Que j'ai supprimé le fichier xxxx.err
rm -rf /usr/local/mysql/data/xxxx.err
après avoir commencé MySQL dans SafeMode
/usr/local/mysql/bin/mysqld_safe start
Il essaiera de démarrer et se terminera en raison d'une erreur ... un nouveau fichier xxx.err sera créé et vous devez le lire pour voir la cause de l'erreur
tail -f /usr/local/mysql/data/mysqld.local.err
Sur mon cas, pour une raison quelconque, il manquait un dossier et un fichier dans le
/var/log/
dossier ... J'ai donc créé les deuxcd /var/log
mkdir mysql
touch mysql-bin.index
Une fois le nouveau fichier créé, vous devez modifier l'autorisation
chown -R _mysql /var/log/mysql
Lorsque toutes ces étapes ont été prises, ma base de données a commencé à fonctionner immédiatement ...
J'espère que cela peut aider les autres ici ... La clé est de lire l'erreur et de se connecter et de trouver ce qui ne va pas ...
la source
Dans mon cas, l'erreur se produit en raison du problème d'accès au fichier journal des erreurs.
Les deux commandes suivantes m'aident à résoudre le problème.
la source
J'espère que ce travail pour vous.
Après avoir vérifié le journal des erreurs, j'ai trouvé ceci:
Et pour le résoudre, j'ai donné des droits de propriété sur l'ensemble du dossier mysql:
Ensuite (vous pouvez également le faire en ligne de commande), j'ai appliqué les autorisations (une fois que j'ai donné cette propriété aux utilisateurs _mysql et mysql ) à tous les dossiers inclus depuis le menu "get info" du dossier dans / usr / local / mysql -5.5.21-osx10.6-x86_64 . Vous n'avez pas besoin de mettre cela sur l'alias car ce n'est qu'un alias.
Le nom du dossier dépend de la version d'installation de mysql que vous avez.
la source
J'ai eu le même problème. le déplacement de mon fichier /etc/my.cnf a fonctionné pour moi. J'ai les informations ici
la source
Eu le même problème, pour moi, il faisait un retrait de brew tout en ayant une installation précédente de mysqld en cours d'exécution. Il semble que l'infusion n'arrête pas un service avant la désinstallation.
Après avoir vérifié le fichier .err, j'ai vu l'erreur consignée qu'une autre copie de mysql peut être en cours d'exécution, après avoir terminé l'ancien service. J'ai ensuite pu redémarrer la nouvelle installation de mysql.
la source
ls -latr /usr/local/var/mysql/
pour trouver le dernier fichier modifié, qui comprenait le journal des erreurs, puistail -50 name.err
pour voir l'erreur, qui était un problème dans la configuration.ps aux | grep mysqld
puis terminé le processus aveckill -9 [proccessid]
et le serveur a démarré avec succèsFacile....
Correction de l'erreur de socket MySQL 2002
Correction de l'erreur imminente de socket 2002 - qui relie où MySQL place le socket et où OSX pense qu'il devrait être, MySQL le place dans / tmp et OSX le recherche dans / var / mysql le socket est un type de fichier qui permet au client mysql / communication serveur.
sudo mkdir / var / mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Bien joué : )
Cela m'aide beaucoup! j'ai pris ce guide des gars sur http://coolestguidesontheplanet.com/
la source
Essaye ça..
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(supprime le fichier)touch YOURUSERNAME.local.pid
(génère un nouveau fichier * .local.pid dont l'erreur renvoyée se plaignait)mysql.server start
la source
error.log
fichier appartenait à "_mysql", lançant des erreurs dans les journaux. Je voulais juste me connecter pour éviter que quelqu'un d'autre ait ce problème.150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
D'une certaine manière, j'ai bousillé mes autorisations sur El Capitan et j'ai décidé de réinstaller MySQL à partir de zéro.
J'utilise brew sur el capitan et j'ai décidé de réinstaller:
Les autorisations de fichier sur une nouvelle installation ont changé de
_mysql
pour inclure mon nom d'utilisateurla source
Vérifiez s'il reste de la place dans votre lecteur. J'ai eu ce problème quand il n'y avait plus d'espace dans mon lecteur.
la source
Le problème est lié aux autorisations, il ne peut pas démarrer car il ne peut pas écrire dans mac.err car il appartient à quelqu'un d'autre.
Assurez-vous que le dossier / usr / local / var / mysql appartient à l'utilisateur qui démarrera mysql. Si je démarre mysql comme jack c'est tout bon. Cependant, si vous le démarrez en tant que root, il créera un fichier mac.err (appartenant à root) sur lequel jack ne peut pas écrire, donc lorsque vous essayez de le redémarrer en tant que jack, il échouera.
la source
Dans mon cas, j'ai eu ce problème sur vps, cPanel .
J'ai essayé la plupart des réponses ci-dessus, mais pas le succès.
https://forums.cpanel.net/threads/mysql-is-not-running.407142/
la source