Mysql
 sql >> Database >  >> RDS >> Mysql

Differenza tra `brew services start mysql` e `mysql.server start`

Secondo il messaggio di aiuto di brew services , quando corri

brew services start mysql

installa e avvia la formula del servizio al login (o all'avvio se esegui il comando con sudo ). Significa che ora avrai un file plist in ~/Library/LaunchAgents (o in /Library/LaunchDaemons se esegui il comando con sudo ). Per mysql, il file plist è il seguente:

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

significa che per impostazione predefinita mysqld_safe viene chiamato con il --bind-address=127.0.0.1 e --datadir=/usr/local/var/mysql opzioni della riga di comando.

quando corri

mysql.server start

esegui direttamente lo script mysql che si trova in /usr/local/bin/mysql.server .

La differenza principale è che con i brew services versione, esegui mysqld_safe che, secondo il suo man pagina: