ERREUR! Le fichier PID du serveur MySQL est introuvable!


3

J'ai réinstallé macOS Sierra sur ma machine. Après avoir installé Oracle MySQL Community Server 5.7.15 (mysql-5.7.15-osx10.11), j'ai essayé d'arrêter le serveur MySQL à partir de la console. J'ai reçu l'erreur suivante "ERREUR! Le fichier PID du serveur MySQL est introuvable!".

J'ai fait quelques recherches par moi-même mais il n'a pas réussi à trouver une solution à mon problème.

Aucune suggestion?


Vous avez réinstallé Sierra après l' installation de MySQL ... ou Vous avez réinstallé Sierra et après l'installation de MySQL .... Aussi: quel programme d'installation MySQL avez-vous utilisé - le programme d'installation d'Oracle MySQL Community 5.7.15 pkg ou le package macports ou les deux?
klanomath

J'ai fait une nouvelle installation de sierra, ensuite j'ai configuré mon apache intégré, puis j'ai installé MySQL avec Oracle MySQL Community 5.7.15 pkg. J'utilise aussi l'homebrew.
vasilisdmr

Comment as-tu commencé MySql?
Marc

simplement en cliquant sur le bouton dans le menu des paramètres.
vasilisdmr

Réponses:


5

Le démarrage et l’arrêt du serveur MySQL via Préférences Pane / launchd et d’autre part via via sudo /usr/local/mysql/support-files/mysql.server start/stopne sont pas vraiment compatibles.

Après avoir choisi "Support Launchd" dans le programme d'installation MySQL, le démon de lancement com.oracle.oss.mysql.mysqld sera créé et la sous-fenêtre des préférences MySQL utilise le mécanisme launchd pour démarrer et arrêter mysql. Si vous activez "Démarrer automatiquement le serveur MySQL au démarrage", mysqld est activé automatiquement après le démarrage de votre Mac.

Le nom du fichier pid créé par le démon de lancement n'est pas compatible avec celui créé et attendu par le script mysql-server.

Le nom de fichier pid du démon de lancement créé lors de l'exécution est mysql.local.pid , le script attend un nom basé sur le nom d'hôte, le nom .local ou le nom de l'ordinateur de votre Mac.

Vous pouvez donc utiliser le panneau de préférences de MySQL / launchctl ou le script pour démarrer et arrêter mysqld.


Dans une certaine mesure, vous pouvez rendre les deux méthodes compatibles en modifiant le fichier com.oracle.oss.mysql.mysqld :

Après avoir arrêté mysql, remplacez le tableau

<array>
    <string>/usr/local/mysql/bin/mysqld</string>
    <string>--user=_mysql</string>
    <string>--basedir=/usr/local/mysql</string>
    <string>--datadir=/usr/local/mysql/data</string>
    <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
    <string>--log-error=/usr/local/mysql/data/mysql.local.err</string>
    <string>--pid-file=/usr/local/mysql/data/mysql.local.pid</string>
</array>

par

<array>
    <string>/usr/local/mysql/bin/mysqld</string>
    <string>--user=_mysql</string>
    <string>--basedir=/usr/local/mysql</string>
    <string>--datadir=/usr/local/mysql/data</string>
    <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
    <string>--log-error=/usr/local/mysql/data/$name.err</string>
    <string>--pid-file=/usr/local/mysql/data/$name.pid</string>
</array>

avec $ name: soit HostName (par exemple, host.example.com), LocalHostName (par exemple, host.local) ou ComputerName (par exemple, host). Le mieux est probablement d'utiliser un nom d'hôte. Vous pouvez obtenir un nom d’hôte avec scutil --get HostNameou avec le nom d’hôte sudo scutil --set HostName your_hostname.

Vous pouvez également obtenir le nom du pid du script mysql-server réellement utilisé - après avoir arrêté le démon de lancement et démarré avec mysqld mysql-server start- en vérifiant le répertoire de données de mysql avec sudo ls /usr/local/mysql/data. Utilisez le nom trouvé ici pour ajuster le nom du pid du plist.

Vous devrez peut-être convertir le fichier daemon de lancement en fichier XML pour le modifier. L'application TextWrangler l'ouvre immédiatement en tant que fichier XML.

Rechargez ensuite le plist avec launchctl.


Maintenant, vous devriez pouvoir démarrer et vous arrêter avec le panneau de préférences MySQL et le script mysql.server.

Si vous avez activé "Démarrer automatiquement le serveur MySQL au démarrage", vous ne pouvez pas arrêter le serveur - même après modification du plist - avec le script, car launchd remplace toute commande d' arrêt après quelques secondes et lance à nouveau mysqld.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.