web-dev-qa-db-fra.com

Comment arrêter correctement le serveur MySQL sur Mac OS X?

J'ai installé MySQL Community Server après des instructions à

http://dev.mysql.com/doc/refman/5.0/en/macosx-installation.html

avec l'élément de démarrage et le volet de préférence MySQL.

Je peux arrêter le serveur avec

$ /usr/local/mysql/bin/mysqladmin -u root -p shutdown 
Enter password:
$ ps aux | grep mysqld
.... grep mysqld

Est-ce la bonne façon?

Chaque fois que j'essaie d'arrêter le sévère à l'aide de la préférence du système -> MySQL -> Stop MySQL Server, il se bloque. Je devrai forcer à cesser de fumer la préférence du système depuis le quai. Avez-vous une idée de la pendre ou de la façon de savoir?

3
qazwsx

Disclaimer: Pas un utilisateur MacOS

C'est une solution alternative. Cette méthode d'arrêt peut être effectuée dans MacOS, Linux, Windows, toute plate-forme MySQL est prise en charge.

En fait, je préfère votre méthode mysqladmin pour une raison ...

À Linux, j'ai vu le mysql.sock (le fichier de socket) Fichier juste en place et disparaît sans avertissement. Le moyen standard d'arrêter MySQL sous Linux est service mysql stop. Chaque fois que le fichier de prise disparaît, le programme MYSQLD_SAFE ne peut pas arrêter sans d'abord voir dans le fichier Socket. Un tel arrêt standard serait juste suspendu.

Je me connecte habituellement à l'aide de TCP/IP

/usr/local/mysql/bin/mysqladmin -u root -h127.0.0.1 -p shutdown  

Ce faisant, cela contourne la vérification d'un fichier de socket. Bien sûr, vous devez vous assurer que la [email protected] existe. Exécutez ces lignes pour créer cet utilisateur:

SET SQL_LOG_BIN=0;
GRANT ALL PRIVILEGES ON *.* TO root@'127.0.0.1' IDENTIFIED BY 'whateverpassword';

Mise en garde si vous faites DESC mysql.user;, vous verrez que l'une des colonnes de privilège est Shutdown_priv. Cela permettrait évidemment à un utilisateur qui se connecte à MySqladmin à émettre un arrêt. Les utilisateurs ayant ce privilège ne peuvent émettre de fermeture à partir du client MySQL. Les utilisateurs avec shutdown_priv = 'y' ne peuvent être effectués que de MySqladmin.

2
RolandoMySQLDBA