我在 Docker 容器内的 MySQL 服务器(5.7.20)上运行一个简单的查询。查询是从同一容器内的 BASH 脚本运行的。变量被导出和定义。凭证经过检查且有效。
mysql --user="root" --password="${MYSQL_ROOT_PASSWORD}" --show-warnings --verbose -e "DROP DATABASE IF EXISTS ${MYSQL_TEST_DB};"
没有防火墙问题,因为 MySQL 服务器被绑定到 127.0.0.1。也从本地主机运行和连接。/etc/hosts 确实有一个127.0.0.1 localhost
定义。
服务正在运行,我可以使用相同的凭据通过 CLI 登录 MySQL。
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
完整的错误信息显示
错误 2013 (HY000):在“读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误:104
在 Google 或 SO 上找不到任何有用的东西并且没有想法。大多数答案都连接到防火墙或超时答案。