【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr

已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinError 10061] 由于计算机积极拒绝,无法连接。)”

一、分析问题背景

在使用Python的pymysql库连接本地MySQL数据库时,有时会遇到“pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinError 10061] 由于计算机积极拒绝,无法连接。)””的错误。这个错误通常发生在尝试建立数据库连接的时候,意味着Python客户端无法与运行在localhost上的MySQL服务器建立连接。

二、可能出错的原因

  1. MySQL服务未启动:如果MySQL服务没有运行,客户端自然无法连接。
  2. 防火墙或安全软件阻止:有时候,防火墙或安全软件会阻止不受信任的程序进行网络通信。
  3. 错误的连接参数:如果连接参数(如主机名、端口号、用户名、密码等)设置错误,也会导致连接失败。
  4. MySQL配置问题:MySQL的配置文件(如my.cnf或my.ini)可能限制了外部连接,或者绑定了特定的IP地址。

三、错误代码示例

以下是一段可能导致上述错误的Python代码示例:

import pymysql  
  
try:  
    # 尝试连接到MySQL数据库  
    connection = pymysql.connect(  
        host='localhost',  
        user='root',  
        password='password',  
        database='mydatabase'  
    )  
except pymysql.err.OperationalError as e:  
    print(f"连接数据库时出错: {e}")


如果MySQL服务未运行或连接参数错误,执行上述代码将会触发OperationalError。

四、正确代码示例

首先,确保MySQL服务已经启动并且监听在正确的端口上。然后,检查并确保连接参数(主机名、端口、用户名、密码等)是正确的。以下是一个修正后的代码示例:

import pymysql  
  
try:  
    # 尝试连接到MySQL数据库,确保所有参数正确,并且MySQL服务已启动  
    connection = pymysql.connect(  
        host='127.0.0.1',  # 或者使用localhost,确保与MySQL配置一致  
        port=3306,         # 确保端口号正确,默认为3306  
        user='root',       # 使用正确的用户名  
        password='correct_password',  # 使用正确的密码  
        database='mydatabase'         # 使用存在的数据库名  
    )  
    print("数据库连接成功!")  
except pymysql.err.OperationalError as e:  
    print(f"连接数据库时出错: {e}")  
finally:  
    if connection:  
        connection.close()  # 确保最后关闭连接

五、注意事项

  1. 服务状态检查:在尝试连接之前,请确认MySQL服务已经启动并且正在运行。
  2. 参数校验:仔细检查连接参数,包括主机名、端口、用户名和密码等,确保它们与MySQL服务器的配置相匹配。
  3. 防火墙设置:确保没有防火墙或安全软件阻止Python程序与MySQL服务器之间的通信。
  4. 错误处理:在代码中添加适当的错误处理逻辑,以便在连接失败时能够优雅地处理异常。

通过遵循上述步骤和注意事项,你应该能够解决“pymysql.err.OperationalError:(2003 "Can’t connect to MySQL server on ‘localhost’)"的错误,并成功连接到MySQL数据库。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
1
1
0
67
分享
相关文章
Python中使用MySQL模糊查询的方法
本文介绍了两种使用Python进行MySQL模糊查询的方法:一是使用`pymysql`库,二是使用`mysql-connector-python`库。通过这两种方法,可以连接MySQL数据库并执行模糊查询。具体步骤包括安装库、配置数据库连接参数、编写SQL查询语句以及处理查询结果。文中详细展示了代码示例,并提供了注意事项,如替换数据库连接信息、正确使用通配符和关闭数据库连接等。确保在实际应用中注意SQL注入风险,使用参数化查询以保障安全性。
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
335 9
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
434 15
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
103 1
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化和调试技巧,涵盖使用内置函数、列表推导式、生成器、`cProfile`、`numpy`等优化手段,以及`print`、`assert`、`pdb`和`logging`等调试方法。通过实战项目如优化排序算法和日志记录的Web爬虫,帮助你编写高效稳定的Python程序。
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等