用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
这样做的目的是每次开机自动创建软连接。
到这里也就解决了这个问题。