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

如何通过Python连接安装在非默认目录的MySQL?

解决Python连接自定义目录MySQL服务的问题

首先明确:你使用的~/home/sama/myproject/build/build-debug/bin/mysql是MySQL客户端程序,Python的mysql.connector连接的是MySQL服务端,和客户端程序的安装目录没有直接关联。连接失败通常是服务端配置、连接参数或权限问题,以下是具体解决步骤:

  • 确认服务端监听端口
    先验证MySQL服务确实在3305端口提供TCP/IP服务:

    ss -tulpn | grep 3305
    

    或者用你能连接的客户端执行SQL命令确认端口:

    SHOW GLOBAL VARIABLES LIKE 'port';
    
  • 修正连接参数
    你命令行使用-p说明需要密码,但Python代码中password=""为空,这是常见错误。把你命令行输入的密码填入参数:

    import mysql.connector
    db = mysql.connector.connect(
        host="127.0.0.1",   
        user="root",          
        password="你的实际密码",
        port=3305
    )   
    print(db)
    
  • 检查socket连接(如果服务端未开启TCP监听)
    有些自定义编译的MySQL可能默认只开启socket连接,此时需要指定socket路径:

    1. 用客户端执行SQL获取socket路径:
      SHOW GLOBAL VARIABLES LIKE 'socket';
      
    2. Python连接时添加socket参数(可去掉port和host,或保留):
      import mysql.connector
      db = mysql.connector.connect(
          user="root",          
          password="你的实际密码",
          socket="/path/to/your/mysql.sock"
      )   
      print(db)
      
  • 验证用户连接权限
    确认root用户允许从127.0.0.1连接:

    1. 用客户端登录后执行:
      SELECT user, host FROM mysql.user WHERE user='root';
      
    2. 如果没有127.0.0.1或%(允许所有IP)的记录,执行授权命令:
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '你的密码';
      FLUSH PRIVILEGES;
      
  • 重装mysql.connector(版本兼容问题)
    若以上步骤无效,可能是驱动版本不兼容,尝试重装:

    pip uninstall -y mysql-connector-python
    pip install mysql-connector-python
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:40:51