解決ubuntu下安裝mysql使用service 無法啟動問題

來源:互聯網
上載者:User

今天從ubuntu 下安裝mysql

 代碼如下 複製代碼

apt-get install mysql-server

啟動的時候發現
service mysql start

Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
 
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
start: Job failed to start
各種查資料,折騰了一天
其中一個解釋

現在Ubuntu啟動,關閉服務不能用/etc/rc*.d/init.d/{Service} {start|stop|restart}了,需要用service {Service} {start|stop|restart}。在網上搜尋後發現原因是Ubuntu10.04後引入了upstart來管理自啟動服務。舊的系統管理被稱作SysV,它通過在代表各個run level的目錄裡建立指令碼來控制服務的自動啟動。比如,/etc/rc0.d目錄裡以S開頭的指令碼會被運行在runlevel 0。在這種方式下,如果要屏蔽一個服務,需要把S開頭的那個更名為以K開頭。而所以在rc*.d下的指令碼都連結到/etc/init.d目錄裡。而Upstart採用了完全不同的方式。它要求所有的啟動指令碼,其實是設定檔,建立在/etc/init目錄下,每個服務一個檔案,裡面定義指令碼啟動與關閉的運行層級、條件、事件,等。可以看得出,Upstart要比SysV高明得多,因為SysV啟動是線性、順序的,一個S20的服務必須要等待S19啟動完成才能啟動,如果一個啟動要花很多時間,那麼後面的服務就算完全無關,也必須要等。而在Upstart下,服務的啟動基於事件,而且是並行的,只要事件發生,服務可以並發啟動。這種方式無疑要優越得多,因為它可以充分利用現在電腦多核的特點,大大減少啟動所需的時間。

當時沒看明白,不過此文解釋了ubuntu的升級機制

後來

 代碼如下 複製代碼
apt-get upgrade

升級一下系統

然後就好了

 代碼如下 複製代碼

service mysql start

如果你也遇到相同問題,希望此文能讓你不要再受我的苦。走那麼多彎路。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.