You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac环境下localhost使用mysql-connector-python连接MySQL报错问询

问题排查与解决指引

2003报错根因

该报错是本地MySQL服务未正常运行或未监听默认3306端口导致,和Python代码本身逻辑无关,优先做Python环境外的基础检查。


前置环境检查(无需修改ipconfig/ifconfig网络配置)

默认连接localhost走本地回环网络,无需额外调整网卡配置,仅需完成两项检查:

  • 启动MySQL服务:
    • Windows:在服务管理器中找到对应版本的MySQL服务,点击启动
    • Linux(Debian/Ubuntu):执行sudo systemctl start mysql
    • Linux(CentOS/RHEL):执行sudo systemctl start mysqld
    • Mac(brew安装):执行sudo brew services start mysql
  • 验证端口监听:
    • Windows执行netstat -ano | findstr 3306
    • Linux/Mac执行netstat -an | grep 3306
      正常可以看到127.0.0.1:3306的监听记录,若你修改过MySQL默认端口,后续连接配置需同步指定port参数。
  • 验证账号可用性:命令行执行mysql -u root -p输入你设置的MySQL root密码,确认可以正常进入MySQL命令行,排除账号密码错误问题。

身份认证说明

连接参数中的user、password对应MySQL独立的账号体系,和操作系统(Unix/Windows)的账号密码完全无关,root是MySQL默认的管理员账号,密码为你安装MySQL过程中设置的专属密码。


无明文密码的最小连接方案

不想在代码中明文存储密码也不需要手动输入,可以用MySQL官方支持的本地配置文件存储凭证:

  1. 在当前用户家目录创建.my.cnf配置文件:
    • Windows路径:C:\Users\你的用户名\.my.cnf
    • Linux/Mac路径:~/.my.cnf
      Linux/Mac需额外执行chmod 600 ~/.my.cnf限制文件仅当前用户可读写,避免凭证泄露。
      配置文件内容如下:
    [client]
    user = root
    password = 你的MySQL真实root密码
    host = localhost
    # 若修改过默认端口则新增 port=自定义端口号
    
  2. Python代码直接读取配置完成连接、创建cursor:
    import mysql.connector
    
    mydb = mysql.connector.connect(option_files='~/.my.cnf')
    cursor = mydb.cursor()
    

免账号密码连接说明

默认MySQL不支持无账号密码连接,仅当你手动开启匿名用户权限时可实现,该操作存在极高安全风险,无论测试还是生产环境都不推荐使用。

内容的提问来源于stack exchange,提问作者Frank Harris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:36:01