sql >> Databáze >  >> RDS >> Mysql

Rozdíl mezi `brew services start mysql` a `mysql.server start`

Podle zprávy nápovědy brew services , když spustíte

brew services start mysql

nainstaluje a spustí vzorec služby při přihlášení (nebo při spouštění, pokud příkaz spustíte pomocí sudo ). To znamená, že nyní budete mít soubor plist v ~/Library/LaunchAgents (nebo v /Library/LaunchDaemons pokud příkaz spustíte pomocí sudo ). Pro mysql je soubor plist následující:

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

to znamená, že ve výchozím nastavení mysqld_safe se volá s --bind-address=127.0.0.1 a --datadir=/usr/local/var/mysql možnosti příkazového řádku.

když běžíte

mysql.server start

přímo spustíte skript mysql umístěný v /usr/local/bin/mysql.server .

Hlavní rozdíl je v tom, že u brew services verzi, spustíte mysqld_safe který podle svého man stránka:




  1. Železniční transakce

  2. Automatický přírůstek MySQL za odlišnou hodnotu zadanou v jiném sloupci?

  3. Udržujte pořadí od klauzule „IN“.

  4. MySQL, předání AUTO_INCREMENT do jiné tabulky