【问题标题】:Cannot connect mysql through python无法通过python连接mysql
【发布时间】:2019-03-27 03:47:10
【问题描述】:

我做了一个 python -m pip install mysql-connector 并且能够通过 python 成功运行import mysql.connector。但是当我试图运行下面的代码时。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword"
)

print(mydb)

失败,InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine positively denied)

由于我为 mysql.connector 安装了 pip,所以我不确定用户和密码。

【问题讨论】:

  • 你确定你的端口是对的?

标签: python mysql


【解决方案1】:

我将我的数据库实例从 Amazon RDS 连接到 mySql 工作台,创建了一个看起来像他的 python 文件并得到了确切的错误。每个人都说您可能遇到系统防火墙问题,但没有什么直截了当的。

【讨论】:

    【解决方案2】:

    连接器只是一种以编程方式与 mysql 数据库通信的方法。

    你需要这个,或者访问一个 mysql 服务器来使用连接器。 https://dev.mysql.com/downloads/mysql/

    当你想在你的机器上本地访问它时,主机显然是localhost。这仅在服务器在您的机器上运行时才有效。您可以通过将主机更改为有效的 IP 地址并提供有效的凭据来连接远程服务器。如果您远程使用它,请确保服务器可以通过防火墙进行访问,并且您正确转发了您决定使用的 TCP 端口。您可能不必转发,但作为一般经验法则,我会减少故障排除时的检查工作。

    祝你好运

    【讨论】:

    • 既然我已经完成了python -m pip install mysql-connector 并且我可以运行import mysql.connector 我不知道为什么我必须单独安装dev.mysql.com/downloads/mysql
    • 我仍然尝试在本地下载和安装 mysql,但失败并出现以下错误C:\Users\susha\Downloads\mysql-8.0.15-winx64>python setup.py install (null): can't open file 'setup.py': [Errno 2] No such file or directory
    • @Sushant 连接器不是 mysql 数据库。您正在尝试连接到不存在的东西,这就是机器拒绝连接的原因。您运行从网站获得的安装文件,并仔细完成安装和配置过程。此外,在设置服务器并添加列和索引以将信息存储到其中之后,您需要创建一个数据库/模式,您可以在其中使用连接器在 python 中使用 SQL 查询读取或操作。连接器不是数据库或服务器,它只是一个与 mysql 数据库通信的库。
    • @Sushant 另外我推荐使用 Mysql 工作台来使用 mysql 服务器。它不是世界上最直观的软件,但一旦你发现它是一个很棒的工具。
    • @Sushant import mysql.connector 只是将库导入 python 供您使用。连接器随数据库一起提供。因此,除非您单独获得连接器,否则您可能已经拥有服务器,您只需要使用 mysql workbench 构建数据库并打开服务器。
    猜你喜欢
    • 2018-12-30
    • 2015-11-24
    • 2013-04-15
    • 1970-01-01
    • 2017-11-16
    • 2011-06-17
    • 2014-10-18
    • 2014-11-25
    • 2010-12-24
    相关资源
    最近更新 更多