1. 程式人生 > >用c語言連結MySQL資料庫出現Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

用c語言連結MySQL資料庫出現Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

這個問題,困擾了我好幾天,最後終於解決了。首先,我用find命令找了半天,也只有/tmp/mysql.sock,當時我很崩潰啊,後來看到一篇文章,我忘了地址,讓我有感,於是解決了這個問題。
1、在/var/run/目錄下建立一個mysqld的資料夾(如果這個資料夾沒有的話)。
sudo mkdir /var/run/mysqld/
2、建立軟連線
sudo ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
3、這個時候就可以順利使用了。但是還有一點不足的地方,因為/var/run/目錄下的mysqld一開機重啟就被刪除了,每次都要這樣重複操作太麻煩,所以,我告訴你怎麼不麻煩。
建立一個叫myservice.sh的指令碼檔案
裡面這樣寫:

sudo mkdir /var/run/mysqld/
sudo ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
sudo service mysql.server start

這裡寫圖片描述

然後把檔案移動到/etc/init.d/目錄下,再修改/etc/rc.local,新增如下語句:

bash /etc/init.d/myservice.sh
service network-manager start
service networking start

這裡寫圖片描述

這樣做的目的是每次開機自動建立軟連線。

到這裡也就解決了這個問題,如果你有問題,歡迎提問。