web-dev-qa-db-fra.com

MySQL pid terminé (impossible de démarrer mysql)

J'ai une nouvelle installation de MySQL (mysql-5.5.24-osx10.6-x86_64). Je suis sur Lion (OS 10.7.4) avec un Mac Pro Quad Core. J'ai installé MySQL le programme d'installation graphique et également le panneau de préférences et l'élément de démarrage. 

Cependant quand je cours:

Sudo ./bin/mysqld_safe

Je reçois ce message:

120515 17:58:19 mysqld_safe Logging to '/usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.err'.
120515 17:58:19 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.5.24-osx10.6-x86_64/data
120515 17:58:20 mysqld_safe mysqld from pid file /usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.pid ended

Je ne peux pas non plus démarrer MySQL à partir du volet des préférences.

Voici ce que j'ai essayé jusqu'à présent, basé sur les heures de recherche sur Google et de recherche:

Problèmes d'autorisations?

Ce:

cd /usr/local
Sudo chown mysql mysql
Sudo chown mysql mysql-5.5.24-osx10.6-x86_64
Sudo chown _mysql mysql
Sudo chown _mysql mysql-5.5.24-osx10.6-x86_64

et

Sudo chown -R /usr/local/mysql-5.5.24-osx10.6-x86_64/
Sudo chown -R /usr/local/mysql

Ce:

Sudo chown -R root:wheel /Library/StartupItems/MySQLCOM

Problèmes de lien?

Ce:

dans /usr/local/mysql/support-files/mysql.server - je l'ai fait:

basedir="/usr/local/mysql"
datadir="/usr/local/mysql/data"

Dans le fichier /etc/rc.common, ajoutez la ligne suivante à la fin: /usr/local/mysql/bin/mysqld_safe --user = mysql &

Ce:

Sudo ln -s /usr/local/mysql-5.5.24-osx10.6-x86_64 /usr/local/mysql

J'ai également essayé le processus de suppression ici et réinstallé, mais cela ne semble pas faire une différence. J'ai également lancé Activity Monitor sous OS X pour voir si d'autres processus mySQL fonctionnaient par hasard, mais ils ne l'étaient pas. 

Rien ci-dessus n'a fonctionné alors je suis un peu à bout. Voici le journal du fichier .err situé dans:

/usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.err

120515 18:07:43 mysqld_safe mysqld from pid file /usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.pid ended
120515 18:13:01 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.5.24-osx10.6-x86_64/data
120515 18:13:01 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-5.5.24-osx10.6-x86_64/data/ is case insensitive
120515 18:13:01 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/mysql-5.5.24-osx10.6-x86_64/bin/mysqld: Table 'mysql.plugin' doesn't exist
120515 18:13:01 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120515 18:13:01 InnoDB: The InnoDB memory heap is disabled
120515 18:13:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120515 18:13:01 InnoDB: Compressed tables use zlib 1.2.3
120515 18:13:01 InnoDB: Initializing buffer pool, size = 128.0M
120515 18:13:01 InnoDB: Completed initialization of buffer pool
120515 18:13:01 InnoDB: highest supported file format is Barracuda.
120515 18:13:01  InnoDB: Waiting for the background threads to start
120515 18:13:02 InnoDB: 1.1.8 started; log sequence number 1595675
120515 18:13:02 [ERROR] /usr/local/mysql-5.5.24-osx10.6-x86_64/bin/mysqld: unknown option '--skip-locking'
120515 18:13:02 [ERROR] Aborting

120515 18:13:02  InnoDB: Starting shutdown...
120515 18:13:03  InnoDB: Shutdown completed; log sequence number 1595675
120515 18:13:03 [Note] /usr/local/mysql-5.5.24-osx10.6-x86_64/bin/mysqld: Shutdown complete

120515 18:13:03 mysqld_safe mysqld from pid file /usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.pid ended

Mise à jour: J'ai mis à niveau la même machine de Snow Leopard à Mountain Lion 10.8.1 et MySQL fonctionne parfaitement bien avec la mise à niveau. Je n'ai rien fait de plus. 

29
Danny Englander

J'ai le même problème lors de l'installation de la dernière version de mysql, mysql-5.6.10-osx10.7-x86.dmg pour MAC OS 10.7.5. Voici mes solutions ..__ Tout d’abord, supprimez le mysql installé

Sudo rm /usr/local/mysql
Sudo rm -rf /usr/local/mysql*
Sudo rm -rf /Library/StartupItems/MySQLCOM
Sudo rm -rf /Library/PreferencePanes/My*
Sudo rm -rf ~/Library/PreferencePanes/My*
Sudo rm -rf /Library/Receipts/mysql*
Sudo rm -rf /Library/Receipts/MySQL*
Sudo rm -rf /var/db/receipts/com.mysql.*

Ensuite, récupérez mysql-5.1.68-osx10.6-x86.dmg , installez cette ancienne version et c'est terminé!

11
Qian Alvin. Qin

depuis que je ne peux pas poster de commentaires (<50 reputation :() je l'écris ici :)

comme @AndPy dit, de même avec moi, si vous ls -l le /usr/local/var/mysql, vous pouvez voir que le fichier COMPUTER-NAME.local.err appartient à _mysql ou à un autre ... dans ce cas, effacez simplement le fichier et mysql.server start en créera un nouveau appartenant à votre utilisateur. et va bien commencer cette fois-ci :)

Si le fichier appartient déjà à votre utilisateur, cela ne vous aidera pas, vous devez en savoir plus sur Google :( 

8
Redrick

J'ai eu le même problème après la mise à jour vers OS X Mavericks.

Démarrer MySQL. ERREUR! Le serveur s'est arrêté sans mettre à jour le fichier PID

Comme Redrick et AndPy mentionné, je devais également renommer (en fait, j'ai supprimé le fichier) le fichier d'erreur situé dans $ cd /usr/local/var/mysql. Mon fichier d'erreur s'appelait localhost.err. Après avoir supprimé le fichier avec $ rm localhost.err, je pouvais enfin redémarrer MySQL avec $ mysql.server start.

5
Michael Zumstein

J'ai trouvé cette erreur sur la pile redmine bitnami car le propriétaire des fichiers dans les données du répertoire était incorrect.

Vérifiez que le propriétaire du répertoire/mysql/data/doit être utilisateur 'mysql'

J'espère que cette aide.

5
SomeThing

J'ai eu le même problème. 

Dans/usr/local/var/mysql, j'ai trouvé un fichier sous la forme COMPUTER-NAME.local.err. Changer simplement ce nom de fichier a résolu le problème. Je pourrais maintenant démarrer le serveur mysql avec 

mysql.server start

4
AndPy

Si vous voulez absolument que cette chose fonctionne, procédez comme suit:

Vous devez d'abord désinstaller mysql, donc faites-le avant de vous assurer que vous disposez d'une copie de sauvegarde de toutes vos bases de données.

brew remove mysql

Ensuite, vous devez vous assurer que certains fichiers sont désinstallés, créez un script de commandes contenant les commandes suivantes et exécutez-le:

Sudo rm /usr/local/mysql
Sudo rm -rf /usr/local/var/mysql
Sudo rm -rf /usr/local/mysql*
Sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Sudo rm -rf /Library/StartupItems/MySQLCOM
Sudo rm -rf /Library/PreferencePanes/My*
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm -rf ~/Library/PreferencePanes/My*
Sudo rm -rf /Library/Receipts/mysql*
Sudo rm -rf /Library/Receipts/MySQL*
Sudo rm -rf /private/var/db/receipts/*mysql*

Allez à /etc/hostconfig en utilisant votre programme d’édition préféré et supprimez la ligne MYSQLCOM=-YES-

Puis lancez brew cleanup puis installez mysql en utilisant brew install mysql

Une fois que vous aurez terminé, vous obtiendrez probablement à nouveau la même erreur. Allez dans le dossier cd /usr/local/var/mysql/. Il devrait y avoir un fichier appelé localhost.local.err

lancez cat ./localhost.local.err et regardez dans le fichier. Vous devriez voir quelque chose de similaire à: 

2018-03-24 15:41:49 140735679804288 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 48: Address already in use

2018-03-24 15:41:49 140735679804288 [ERROR] Do you already have another mysqld server running on port: 3306 ?

Si vous le faites, exécutez la commande Sudo lsof -i :3306 et vous obtiendrez probablement quelque chose en retour comme ceci:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 74 _mysql 20u IPv6 0xXXXXXXXXXXXXX 0t0 TCP *:mysql (LISTEN)

Cela signifie que mysql est déjà en cours d'exécution et écoute sur le port 3306 et que vous devez le tuer. Utilisez top pour tuer le programme ou utilisez simplement Activity Monitor pour le tuer. De toute façon, une fois que cela est fait, retournez à cd /usr/local/var/mysql/ et supprimez le dossier localhost.local.err.

Une fois que cela est fait, lancez mysql.server start et vous devriez obtenir ce qui suit:

180324 15:46:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql SUCCESS!

Et bravo. J'essaie de résoudre ce problème depuis une semaine et c'est une solution si facile que je viens de comprendre. Je me hais.

2
user2582118

Ma réponse est très similaire aux autres, mais légèrement différente et cela s'applique principalement à une pile de bitnami. La solution pour moi était:

Sudo chown -R mysql mysql/

Le répertoire mysql/ est celui situé dans Applications/<mampstack-version>/

Ce qui précède définit le mysql comme propriétaire du répertoire mysql de manière récursive dans les autres répertoires.

2
SpongeBobPHPPants

Ne supprimer que mysql-bin.index fichier dans/usr/local/var/mysql/m'a aidé.

0
John F

120515 18:13:01 [ERREUR] Impossible d'ouvrir la table mysql.plugin. Veuillez exécuter mysql_upgrade pour le créer.

  • En ce qui concerne cette erreur, je suppose que vous avez spécifié un datadir dans my.cnf. Si vous utilisez un répertoire de données autre que celui par défaut pour MySQL, vous devez déplacer les dossiers mysql et performance_schema (selon celui qui existe) dans le répertoire de données spécifié dans my.cnf. Vous pouvez trouver ces dossiers dans le répertoire mysql.

Dans MySQL 5.5+, l'option --skip-lock est supprimée. Utilisez --skip-external-lock à la place. Reportez-vous à la documentation MySQL -> http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html Citation: "The --enable-locked and --skip options de serveur verrouillables (utilisez --external-locked et --skip-external-lock). "

0
Muhammad

Donnez à cela un tourbillon .. 

  1. Accédez au répertoire parent du problème cd YOURPATH/usr/local/mysql
  2. rm -rf *.local.err (supprime le fichier)
  3. touch YOURUSERNAME.local.pid (génère un nouveau fichier * .local.pid dont l’erreur renvoyée se plaignait)
  4. retournez dans votre projet et redémarrez mysql en utilisant mysql.server start
0
Nick Sarafa