sql >> Databasteknik >  >> RDS >> Mysql

Skillnaden mellan `brew services start mysql` och `mysql.server start`

Enligt hjälpmeddelandet för brew services , när du kör

brew services start mysql

den installerar och startar tjänsteformeln vid inloggning (eller vid uppstart om du kör kommandot med sudo ). Det betyder att du nu kommer att ha en plist-fil i ~/Library/LaunchAgents (eller i /Library/LaunchDaemons om du kör kommandot med sudo ). För mysql är plist-filen följande:

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

det betyder att mysqld_safe som standard anropas med --bind-address=127.0.0.1 och --datadir=/usr/local/var/mysql kommandoradsalternativ.

när du springer

mysql.server start

du kör direkt mysql-skriptet som finns i /usr/local/bin/mysql.server .

Den största skillnaden är den med brew services version kör du mysqld_safe som, enligt dess man sida:




  1. mysql_connect() misslyckas med tom varning

  2. java, korrekt användning av statiska variabler för att förhindra dödläge - Synkronisering

  3. Första wpdb-infogningen i mySql nya tabell fungerar inte

  4. Finns det ett ANSI SQL-alternativ till nyckelordet MYSQL LIMIT?