Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterschied zwischen `brew services start mysql` und `mysql.server start`

Laut der Hilfemeldung von brew services , wenn Sie laufen

brew services start mysql

Es installiert und startet die Dienstformel bei der Anmeldung (oder beim Booten, wenn Sie den Befehl mit sudo ausführen ). Das bedeutet, dass Sie jetzt eine plist-Datei in ~/Library/LaunchAgents haben (oder in /Library/LaunchDaemons wenn Sie den Befehl mit sudo ausführen ). Für mysql lautet die plist-Datei wie folgt:

<?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> 

es bedeutet, dass standardmäßig mysqld_safe wird mit --bind-address=127.0.0.1 aufgerufen und --datadir=/usr/local/var/mysql Befehlszeilenoptionen.

beim Laufen

mysql.server start

Sie führen direkt das mysql-Skript aus, das sich in /usr/local/bin/mysql.server befindet .

Der Hauptunterschied besteht bei den brew services Version führen Sie mysqld_safe aus was laut seinem man Seite: