2009-01-08 09:32:00隨風奶爸

Linux上的MySQL可以stop卻無法start的問題

使用mysql server 一段時間,每每下達 /etc/rc.d/init.d/mysql stop之後,都沒有辦法再使用/etc/rc.d/init.d/mysql start 重新啟動,必須重新啟動linux讓他自己啟動。雖然不是大問題,但總覺得奇怪,前兩天換裝5.0.51a發現問題更嚴重,竟然無法使用管理工具展開table 結構。心想,認命吧!還是好好處理一下~以下就來看看處理過程吧!

參考網路上許多的討論,眾說紛紜。
我的作法是先去看看mysql的啟動錯誤,
一般預設是在 /var/lib/mysql 底下,會有一個 機器名稱(FQDN).err的檔案,打開文件發現,原來啟動時,mysql 要去使用 /root/tmp,但是理所當然是權限不足囉!
本想直接開放 /root/tmp 的權限給 mysql,但又覺得不妥,所以決定自己重新設定tmp的路徑:
1.建立 tmp 目錄在 /var/lib/mysql底下
# mkdir /var/lib/mysql/tmp

2.授權 tmp 修改擁有者給 mysql
# chown mysql:mysql /var/lib/mysql/tmp

3.修改 MySQL Server的設定檔 /etc/my.cnf
在 [mysqld] 項目下 增加指定 tmpdir
# vi /etc/my.cnf
加入 tmpdir=/var/lib/mysql/tmp
存檔離開

這樣就好了!
試試看停用 server 再啟用~
另外,這問方式也可處理掉 MySQL Server 5.0.51a 無法用管理工具展開表格結構以及使用怪異的問題~

這篇文章,之前我先在http://ithelp.ithome.com.tw/question/10006471發表過了,今天想自己開了BLOG,就把它回收嚕~