come avviare un server mysql all'accesso

1

Attualmente utilizzo Valet per sviluppare siti e molti di questi siti necessitano di database SQL. Per ospitare database SQL, eseguo un server mariaDB dal Terminale. Per avviare il server MySQL in modo che possa connettermi ai database, eseguo il comando: %codice% Voglio che il server si avvii all'accesso, quindi normalmente avrei eseguito questo comando all'accesso, ma richiede il comando sudo. Cosa cambio e come posso cambiarlo in modo tale da non aver bisogno della parte sudo del comando e posso solo avviare il server all'accesso?

    
posta brothman 13.01.2017 - 18:23
fonte

1 risposta

2

Il modo migliore per farlo è creare un launchd .plist, copiarlo su ~/Library/LaunchAgents e lasciare che sia il sistema a gestirlo per te.

Esempio .plist:

<?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>Label</key>
        <string>com.user.startMySQL</string>
        <key>ProgramArguments</key>
        <array>
          <string>mysql.server</string>
          <string>start</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

Preferisco usare la convenzione di denominazione del file com.user.<name of function>.plist quando le nominiamo così posso facilmente identificare cosa viene caricato e cosa no.

Successivamente, devi caricare questo .plist come root in modo che venga eseguito come root

$ sudo launchctl load com.user.startMySQL.plist

Per verificare che sia stato caricato, puoi impartire il comando sudo launchctl list e il comando mysql per avviare una connessione al servizio MySQL.

Tieni presente che questo è solo un semplice esempio: potresti voler creare uno script per verificare se mysqld è già in esecuzione prima di avviarlo.

    
risposta data 13.01.2017 - 18:31
fonte

Leggi altre domande sui tag