用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

这里写图片描述

这样做的目的是每次开机自动创建软连接。

到这里也就解决了这个问题,如果你有问题,欢迎提问。

猜你喜欢

转载自blog.csdn.net/wu_lian_nan/article/details/76165657