Python连接Docker中的MySQL报错解决方案


使用Python或者用mysql命令在宿主机中连接Docker中的MySQL报如下错误

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")


  • 首先,在docker容器内使用mysql -u root -p可以访问,在宿主机不可以

  • 在宿主机加上protocol参数之后,使用mysql -u spok --protocol=tcp -p可以访问

  • 要让Python程序也使用tcp协议,把address参数中的localhost改为127.0.0.1

    • address = mysql+mysqldb://root:12345678@127.0.0.1:3306/test