产生错误的原因是没有在/var/lib/mysql/目录下找到mysql.sock文件导致的。
输入查找命令行命令:
find / -name mysql.sock
在我的系统中输出如下,表明mysql.sock在/tmp/目录下
/tmp/mysql.sock
于是将修改代码如下,即可解决该问题。
import MySQLdb
db = MySQLdb.connect("localhost", "root", "password", "TESTDB", charset='utf8' ,unix_socket="/tmp/mysql.sock")
当然,如果不想每次连接数据库都输入那个参数,可输入如下命令:
ln -s /tmp/mysql.sock /var/lib/mysql/
即将mysql.sock文件软链接到/var/lib/mysql/目录下,这样就可以省去unix_socket参数并且连接到MySQL了。