使用python链接数据库报 Mysql Error 2002:can't connect to local MySQL server through socket '/tmp/mysql.sock'

在服务器上放了一个程序,需要经常操作数据库,做了crontab,但是今天发现突然不能运行了,于是手动执行了该程序,发现报错,如下所示:


mysql报错信息

那这个意思很明显,程序运行的时候去找/tmp/mysql.sock这个文件,然后通过这个文件进行数据库的链接,首先我在我的电脑里搜索这个文件发现没有找到,我就在想以前是怎么运行的,直到解决问题以后,认为可能是以前有这个文件,由于某种原因自己误删除了,现在开始解决问题,我于是手动执行了mysql看是否可以登录

mysql -u用户名 -p

发现没有问题,那么本机的mysql执行的sock文件在哪呢,于是又执行了以下命令

find / -name *.sock

发现在某个目录下存在mysqld.sock这个文件,感觉应该靠谱,与是打算copy到tmp目录下,发现没有权限运行,既然这样我就建立一个软连接

ln -s 到myqld的路径/mysqld.sock /tmp/mysql.sock

执行上述命令后,完美运行!

你可能感兴趣的:(使用python链接数据库报 Mysql Error 2002:can't connect to local MySQL server through socket '/tmp/mysql.sock')