ubuntu12.04 mysql 無法啟動問題解決辦法

來源:互聯網
上載者:User

一,許可權問題導致mysql無法啟動,在linux中許可權是個很重要的東西,所以大多資料mysql無法啟動都與

許可權有問題

錯誤提示

World-writable config file ‘/opt/lampp/etc/my.cnf’ is ignored

[ERROR] Fatal error: Can’t change to run as user ’mysql’ ;

Please check that the user exists!

昨天的的xampp問題集錦中,已經解決了一些問題,不過今天重啟又出現問題,廢話不多說,下面三解決

方案。

進入lampp/etc/把my.cnf的許可權改為755 重啟lampp,正常。同理,把phpmyadmin的許可權也改成755即可。

至此,問題全部解決。

PS:出於安全考慮,xampp不允許將mysql和phpmyadmin的許可權範圍設為最大,在安裝時注意不要把整個

lampp目錄的許可權設為777。

二,Ubuntu 升級後 MySQL 無法啟動


升級結束後我開始測試我的程式。我選擇了手動建立資料庫,但在運行 MySQL 用戶端的時候,卻出現了

錯誤資訊:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket

‘/var/run/mysqld/mysqld.sock’ (2)

無論我用普通帳號還是 root 帳號都出現了這種問題。開始時我以為是個小問題,於是重啟 MySQL,結

果發現啟動不起來了,運行 service mysql restart 的結果是:

 代碼如下 複製代碼

start: Job failed to start

這時,我意識到可能是 MySQL 系統出問題了,去瀏覽器訪問我的 blog,果然提示資料庫連接不正常。

我上網搜尋,確實有人有過這種經曆,但原因是因為硬碟空間滿了,清除出一些空間來就解決了。還有

人說跟 /var/run/mysqld 的許可權有關,我試過修改許可權,但仍然不管用。

這時我有點著急,因為我的資料並沒有備份。系統升級這種事我做過幾次,都很正常,從來沒有出現過

這種情況。如果我又資料庫的備份,我大不了重新做一次系統,然後把資料匯入回去就行了。現在卻沒

辦法了。我嘗試著備份了 /var/lib/mysql 目錄後刪除 MySQL,再重新安裝 MySQL,結果還是不行。

我查看了 /var/log/mysql/error.log,結果裡面相關的內容是:

 代碼如下 複製代碼

120514 11:16:44 [Note] Plugin 'FEDERATED' is disabled.
120514 11:16:44 [Note] Plugin 'InnoDB' is disabled.
120514 11:16:44 [ERROR] Unknown/unsupported storage engine: InnoDB
120514 11:16:44 [ERROR] Aborting

120514 11:16:44 [Note] /usr/sbin/mysqld: Shutdown complete

我看了半天也沒怎麼看出門道來,InnoDB 我在剛開始安裝 MySQL 之後馬上就關上了啊,普通的網站根

本用不到 InnoDB,而且它又十分的耗記憶體,因此這是 VPS 的記憶體最佳化必做步驟之一。

我只好又查其它的文檔,也做了不少嘗試。比如說,設定檔中的 default-character-set 選項到期了

,新的選項是 character-set-server,等等。我改了一些這種選項,但總是沒有效果。

最後,我因為錯誤記錄中提到了 InnoDB,就抱著試一試的心情,把設定檔中的 skip-innodb 這一行

給注釋掉了,結果啟動 MySQL,竟然成功了。我無論如何也想不到竟然會在這個地方出問題。

解決了問題後我成功的讓我的程式可以訪問 MySQL 資料庫了。然後我想找找為什麼關掉 InnoDB 會讓

MySQL 無法啟動。當我檢查我為了這個程式所建立的資料庫時,驚訝的發現了這個資料表竟然使用了

InnoDB 引擎,而不是我以為的 MyISAM。抱著這種猜想,我搜尋了 Google,果然發現了,從版本 5.5

之後,MySQL 預設的引擎成了 InnoDB。

三,修改編碼後導致mysql無法啟動

Ubuntu 12.04 MySQL改utf-8 啟動不了

 代碼如下 複製代碼

default-character-set=utf8

報錯:

start mysql. The restart(8) utility is also available.
start: Job failed to start

這麼寫OK了: 

 代碼如下 複製代碼

On MySQL 5.5 I have in my.cnf

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

聯繫我們

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