Django连接本地MySQL Community Server报错(2002,10061)求助
Django连接本地MySQL出现(2002, "Can't connect to MySQL server on 'localhost' (10061)")错误的解决方法
问题描述
我已经为Python安装了MySQL环境,尝试用以下Django数据库配置连接本地MySQL Community Server:
DATABASES = { 'default': { 'NAME': "food", 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'USER': 'root', 'PASSWORD': 'groot', } }
执行代码时遇到错误:
connection = Database.connect(**conn_params) File "C:\Users\mona\Downloads\food-ordering-system-master\food-ordering-system-master\food-ordering-system\env\lib\site-packages\MySQLdb\__init__.py", line 84, in Connect return Connection(*args, **kwargs) File "C:\Users\mona\Downloads\food-ordering-system-master\food-ordering-system-master\food-ordering-system\env\lib\site-packages\MySQLdb\connections.py", line 179, in __init__ super(Connection, self).__init__(*args, **kwargs2) django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'localhost' (10061)")
解决步骤
检查MySQL服务状态
按Win+R输入services.msc打开服务管理器,找到MySQL相关服务(如MySQL80),确认其处于“正在运行”状态。未启动则右键点击“启动”,建议设置为自动启动避免重复问题。替换localhost为127.0.0.1
部分环境下localhost解析异常,修改配置中的HOST字段:'HOST': '127.0.0.1',确认MySQL端口配置
默认MySQL端口为3306,若你修改过端口,需在配置中添加PORT参数:'PORT': '3307', # 替换为你的实际端口号验证root账号本地连接权限
打开MySQL命令行,执行以下命令查看root账号的允许连接主机:SELECT user, host FROM mysql.user WHERE user='root';若root对应的host不是
localhost或%,执行授权命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'groot'; FLUSH PRIVILEGES;检查防火墙设置
确认Windows防火墙未阻止MySQL端口(默认3306)的入站连接,可暂时关闭防火墙测试是否能正常连接。
内容的提问来源于stack exchange,提问作者Mona
相关产品推荐
相关产品推荐

