2013-01-06 76 views
5

好吧,我環顧四周,但我很困惑這個問題。請原諒我,如果這是愚蠢的。 :* S我正在運行32位Debian 6.0.6。mysqld無法啓動,和mysql錯誤2002

[email protected]:~# service mysql start 
    Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed! 

因此,該服務無法啓動。

[email protected]:~# mysql 
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 

這是運行命令mysql時給出的錯誤。這個錯誤是因爲mysqld啓動失敗嗎?還是有另一個原因?

我去了目錄/ var/mysqld /並且沒有一個名爲mysqld.sock的文件。是這個問題,還是我是白癡? HAHAH。任何幫助將不勝感激。感謝您的時間。

編輯:此外,它似乎與mysql相關的日誌,如mysql.log和mysql.err對他們沒有價值,它們是空白的。另外,我已經將所有的mysql目錄下的目錄chmod 777.該服務仍然繼續拒絕運行。

+0

看在日誌中找出什麼失敗。/var/log/mysql可能。 (不記得debian放在哪裏) –

+0

在那個目錄中根本沒有任何文件。儘管如此,我要調查以找出文件的可能位置。 – DrDeviation

+0

在/etc/my.cnf中查找日誌文件路徑已定義的位置 –

回答

8

嘗試追查有點不同的錯誤。在前臺運行MySQL。

mysqld_safe --log-error=/var/log/mysql.err 

這項工作應在/var/log/mysql.err產生了一些細節的日誌希望和詳細信息添加到您的問題,如果在任何情況下,我的解決方案如下不起作用,有人能夠幫助你。

您最終可能會收到錯誤mysqld_safe: command not found,如果是這樣,請使用locate命令找到它。

locate mysqld_safe 

這會告訴你它在哪裏。例如,如果返回/usr/bin/mysqld_safe,運行命令

/usr/bin/mysqld_safe --log-error=/var/log/mysql.err 

如果讓我猜的話,你會發現約並行線程錯誤。

InnoDB: Error: pthread_create returned 12 

如果是這樣的話,最簡單的辦法是禁用InnoDB的爲MySQL。機會是你不會需要這個,所以在配置中禁用它。

要關閉InnoDB的,在/etc/mysql/my.cnf編輯MySQL的配置文件,將它添加到它

skip-innodb 

現在啓動MySQL

/etc/init.d/mysql start 
+4

你可能不需要InnoDB?你在開玩笑,對吧?在MyISAM和InnoDB這兩個基本引擎選項中,後者幾乎在所有方面都優於MySQL 5.6。除非你安裝一些古老的軟件,否則InnoDB是必不可少的。 – Zenexer

0

我有同樣的

我已經卸載zlib1g-dev和一切正常

+3

是什麼讓你決定卸載'zlib1g-dev'?請提供比「我做X或Y」更多的上下文。 – Jesse

3

我有同樣的問題。

/tmp目錄沒有寫入,所以MYSQL無法寫入一些需要的文件。

只是這樣做:

chmod 777 /tmp 

和重啓MySQL

/etc/init.d/mysql start 
+0

我也有這個問題,這個解決方案爲我解決了它。在我的情況下,我的整個'/ tmp'目錄已被刪除。重新創建後,我做了'chmod',它工作。 –

+0

我得到錯誤'[FAIL] /etc/init.d/mysql:錯誤:帶有/ var/lib/mysql的分區太滿了! ...失敗!' – maxisme

+0

解決:嘗試'sudo /etc/init.d/mysql start'仍然會出現前面提到的問題,但是...... – maxisme

1

我有好幾天同樣的問題,這是我與MySQL的配置以及網絡(DHCP)(我總是實驗用)。

這可能會幫助您:

  • 開放/etc/mysql/my.cnf
  • 找到bind-address,確保IP地址是否正確,或註釋掉像這樣 #bind-address