Mysql
 sql >> Base de données >  >> RDS >> Mysql

Différence entre `brew services start mysql` et `mysql.server start`

Selon le message d'aide de brew services , lorsque vous courez

brew services start mysql

il installe et démarre la formule de service à la connexion (ou au démarrage si vous exécutez la commande avec sudo ). Cela signifie que vous aurez maintenant un fichier plist dans ~/Library/LaunchAgents (ou dans /Library/LaunchDaemons si vous exécutez la commande avec sudo ). Pour mysql, le fichier plist est le suivant :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>KeepAlive</key>
  <true/>
  <key>Label</key>
  <string>homebrew.mxcl.mysql</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/opt/mysql/bin/mysqld_safe</string>
    <string>--bind-address=127.0.0.1</string>
    <string>--datadir=/usr/local/var/mysql</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>/usr/local/var/mysql</string>
</dict>
</plist> 

cela signifie que par défaut mysqld_safe est appelé avec le --bind-address=127.0.0.1 et --datadir=/usr/local/var/mysql options de ligne de commande.

quand tu cours

mysql.server start

vous exécutez directement le script mysql situé dans /usr/local/bin/mysql.server .

La principale différence est qu'avec les brew services version, vous exécutez mysqld_safe qui, selon son man page :