Mac 下利用 Launchctl 自啟動 mysql

來源:互聯網
上載者:User

標籤:

 

    在Mac下安裝好了mysql, 想設定成開機自啟動,原來以為和一般的linux系統一樣,也是在rc.d這樣目錄放置啟動指令碼。在網上查了一些資料,發現蘋果應該是把它完全封閉了,只能利用Mac系統裡的Launchctl來做這個事。

   Launchctl其實就是寫一個*.plist的檔案,它的作用和linux裡的Crontab的作用是一樣的。下面的代碼是我寫的一個com.mysql.plist:

Plist代碼  

<!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.mysql</string>  

        <key>ProgramArguments</key>  

        <array>  

                <string>/usr/local/mysql/bin/mysqld_safe</string>  

        </array>  

        <key>RunAtLoad</key>  

        <true/>  

        <key>KeepAlive</key>  

        <false/>  

</dict>  

</plist>  

   

    然後將這個檔案放在/Library/LaunchDaemons下,關於這種Mac下Launch目錄,有好幾個,作用各有一些不同,網上有好多介紹,這裡就不重複說了(隨便BS一下,那些抄襲別人文章的,從來不自己寫,copy一下,往自己的blog裡一貼,以至於google一下,各種連結,都是一樣的內容)。

 

   最後調用一下launchctl命令,載入這個plist,

Sh代碼  
  1. launchctl load -w com.mysql.plist  

 

  如果命令執行無錯誤,重新啟動mac,mysql已經可以自啟動了。

 

在這個過程中,有幾個注意的地方,列在下面:

1. 執行launchctl 的時候,出現Dubious ownership on file (skipping) 這個錯誤

    原因是:這個plist檔案必須是屬於root使用者,wheel組,用chown修改之

Sh代碼  
  1. sudo chown root:wheel com.mysql.plist  

 

2. 執行launchctl 的時候,出現launchctl: no plist was returned這個錯誤

原因是:plist檔案內容可能有格式錯誤。

用下面這個命令可以查看檔案格式是否有問題,我就是用這個查看到 有一個<true>標記沒有閉合。

 

Sh代碼  
  1. sudo plutil -lint ~/com.mysql.plist   

Mac 下利用 Launchctl 自啟動 mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.