※ 引述《[email protected] (小居批~)》之銘言:
> ※ 引述《chiouss (Heart-shaped chant)》之銘言:
> : 自己在 /etc/rc.conf 裡面加 mysql_enable="YES" (如果沒有的話)
> : 然後 /usr/local/etc/rc.d/mysql-server.sh start
> 現在啟動應該是可以了
> 因為他有起來
> /usr/local/etc/rc.d/mysql-server.sh START
^^^^^??
你確定你當時打的跟現在貼的一樣是大寫 START?
% sudo /usr/local/etc/rc.d/mysql-server START
/usr/local/etc/rc.d/mysql-server: unknown directive 'START'.
Usage: /usr/local/etc/rc.d/mysql-server
[fast|force|one](start|stop|restart|rcvar|status|poll)
> 回應 ERROR 2002 (HY000): Can't connect to local MySQL server through socket
> '/tmp/mysql.sock' (2)
> 我去看了一些版的回文
> 好像 mysql.sock 應該是要自動產生的
> 但是自從我把他幹掉以後一直沒有重生
有人教你砍掉 mysql.sock?
1.你先查一下有沒有現在在跑的 ps 內有沒有 mysql, 以及 listening socket
其中可能有殭屍,打下列兩行指令查一下:
(因為你直接砍 socket, 不是是透過 mysql shutdown)
sockstat -4 | grep mysql
ps aux|grep mysql
2.下列方式你也試過了?
# chown -R mysql:mysql /usr/local/share/mysql
# chown -R mysql:mysql /var/db/mysql
# chmod -R 755 /var/db/mysql
# chmod 744 /usr/local/share/mysql
# /usr/local/share/mysql/mysql.server start
若這也不通,還有另外幾招。
3.下次砍東西前,請先別衝動先 ls -al 看一下相關屬性是怎樣..
ls -al /tmp/ | grep mysql 正常應該是像下面這樣:
srwxrwxrwx 1 mysql wheel 0 4 30 01:11 mysql.sock
4. 至於前面有人提到的 my.cnf 通常是設在 /etc/my.cnf 或帳號家目錄 ~/.my.cnf
你可以用 ls -al /etc/my.cnf 或 ls -al ~/.my.cnf 確認一下
若沒有大概你前人跟你都沒有設吧,沒設的話那就是會照預設值走。
5. 請用 find 找檔名, grep 找內容
比方說 find / -name "mysql*"
或者可以先更新 locatedb (打 /etc/periodic/weekly/310.locate)
再用 locate mysql.sock 這樣子找
6. 有的人回的話可能要先查證,再來談是否相信,這才是真科學了,比如:
『/usr/loca/etc/rc.d/ 裡面沒有 mysql-server
應該就表示你的 mysql 不是用 ports 或是 package 裝的』
不然只會以訛傳訛。
--
靜中見真境,淡中識本然
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 118-166-53-9.dynamic.hinet.net