在服務(wù)器上放了一個(gè)程序冒掌,需要經(jīng)常操作數(shù)據(jù)庫(kù)淹父,做了crontab株婴,但是今天發(fā)現(xiàn)突然不能運(yùn)行了,于是手動(dòng)執(zhí)行了該程序暑认,發(fā)現(xiàn)報(bào)錯(cuò)困介,如下所示:
mysql報(bào)錯(cuò)信息
那這個(gè)意思很明顯,程序運(yùn)行的時(shí)候去找/tmp/mysql.sock這個(gè)文件蘸际,然后通過這個(gè)文件進(jìn)行數(shù)據(jù)庫(kù)的鏈接座哩,首先我在我的電腦里搜索這個(gè)文件發(fā)現(xiàn)沒有找到,我就在想以前是怎么運(yùn)行的粮彤,直到解決問題以后根穷,認(rèn)為可能是以前有這個(gè)文件,由于某種原因自己誤刪除了导坟,現(xiàn)在開始解決問題屿良,我于是手動(dòng)執(zhí)行了mysql看是否可以登錄
mysql -u用戶名 -p
發(fā)現(xiàn)沒有問題,那么本機(jī)的mysql執(zhí)行的sock文件在哪呢惫周,于是又執(zhí)行了以下命令
find / -name *.sock
發(fā)現(xiàn)在某個(gè)目錄下存在mysqld.sock這個(gè)文件尘惧,感覺應(yīng)該靠譜,與是打算copy到tmp目錄下递递,發(fā)現(xiàn)沒有權(quán)限運(yùn)行喷橙,既然這樣我就建立一個(gè)軟連接
ln -s 到myqld的路徑/mysqld.sock /tmp/mysql.sock
執(zhí)行上述命令后啥么,完美運(yùn)行!