[补坑python连接mysql] 使用MySQLdb报错... (2006, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")localhost连接

连接mysql失败

环境: ubuntu18.04+MySQL5.7

报错_mysql_exceptions.OperationalError: (2006, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")

挺坑的,如果是用localhost连接MySQL,实际用的是UNIX Domain Socket来通信的,也就是报错提示的/tmp/mysql.sock这个路径。查看了一下确实没有这个socket,咋办呢,一种解决方法就是从mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf中找到mysqld的socket位置,然后以unix_socket的参数传递给MySQLdb的连接。

MySQLdb.connect(
            host='localhost',
            port=3306,
            user='root',
            password='password',
            database='database',
            charset='utf-8',
            unix_socket='/var/run/mysqld/mysqld.sock'
     )
posted @ 2019-12-02 19:51  CoyoteWaltz  阅读(370)  评论(0编辑  收藏  举报