我正在尝试连接到在 Docker 上运行的 MariaDB 应用程序:
docker run -p 127.0.0.1:3306:3306 --name mdb -e MARIADB_ROOT_PASSWORD=Password123! -d mariadb:latest
教程这里。
bid-address
中的etc/mysql/my.conf
线是:
#bind-address=0.0.0.0
我已经使用IP:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mdb
所以Python代码是:
from sqlalchemy import create_engine
engine = create_engine("mariadb+mariadbconnector://root:[email protected]:3306/mdb")
engine.connect()
然而,我在 SQLAlchemy 中遇到了操作错误,如果我尝试:
mysql -h 172.17.0.3 -P 3306 --protocol=TCP -u root -p
我有:
ERROR 2003 (HY000): Can't connect to MySQL server on '172.17.0.2:3306' (60)
我花了好几个小时都没有找到解决方案。
我使用了这个评论中的解决方案:
mysql -h 127.0.0.1 -P 3306 --protocol=TCP -u root -p
不要使用以下方式检索 IP:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mdb