mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (111
Posted
技术标签:
【中文标题】mysql.connector.errors.InterfaceError: 2003: Can\'t connect to MySQL server on \'127.0.0.1:3306\' (111 Connection denied)【英文标题】:mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (111 Connection refused)mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (111 Connection denied) 【发布时间】:2020-10-23 23:36:45 【问题描述】: 我在 django web 应用程序中使用了 mysql 连接器。 我已将应用程序 docker 化,但 mysql 抛出此错误。 我试过重启mysql服务器, 我也使用了 127.0.0.1 而不是 localhost,它仍然会抛出 同样的错误。 我正在尝试在这里运行“docker-compose up”,它带来了这个 错误 mysql.connector.errors.InterfaceError: 2003: 无法连接 到“127.0.0.1:3306”上的 MySQL 服务器(111 连接被拒绝) “docker-compose build”运行正常,但“docker-compose up”和python manage.py runserver”抛出mysql错误这是我的 utils.py 文件
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
user="root",
passwd="aspilos",
database="aspilos_log"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT PHONE_NUMBER FROM category2")
results = mycursor.fetchall()
for i in zip(*results):
number = list(i)
number1 = '+2348076548894'
print (number)
这是我的 docker-compose.yml 文件
version: '3.4'
services:
db:
image: mysql
ports:
- '3306:3306'
environment:
MYSQL_DATABASE: 'app'
MYSQL_USER: 'root'
MYSQL_PASSWORD: 'aspilos'
MYSQL_ROOT_PASSWORD: 'aspilos'
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/aspilos
ports:
- "8000:8000"
depends_on:
- db
这是我的 settings.py 文件
DATABASES =
'default':
'ENGINE': 'django.db.backends.mysql',
'NAME': 'app',
'USER': 'root',
'PASSWORD': 'aspilos',
'HOST': 'db',
'PORT': '3306',
,
【问题讨论】:
不允许进行场外对话。问题及其答案应该是自包含的。站外链接只能用于增加清晰度,但详细信息应在本网站上。 【参考方案1】:在您的 utils.py 中,您使用主机作为“127.0.0.1”,将其更改为 db
。
mydb = mysql.connector.connect(
host="db",
user="root",
passwd="aspilos",
database="aspilos_log"
)
【讨论】:
它运行了,但我遇到了另一个错误,无法加载缓存_sha2_password 这完全是一个不同的问题。这个是为了解决“无法在 '127.0.0.1:3306'(111 连接被拒绝)上连接到 MySQL 服务器”错误。请针对新错误提出新问题。 谢谢,我都明白了以上是关于mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (111 的主要内容,如果未能解决你的问题,请参考以下文章