【问题标题】:Interface Error of mysqlmysql的接口错误
【发布时间】:2016-10-28 14:08:00
【问题描述】:

我安装了 mysql connector/python 并且正在使用 MAMP。当我尝试连接到数据库时,这是终端中出现的内容:

Traceback (most recent call last):
File "database.py", line 7, in <module>
    raise_on_warnings= True)
File "/Library/Python/2.7/site-packages/mysql/connector/__init__.py", line 179, in connect
        return MySQLConnection(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File "/Library/Python/2.7/site-packages/mysql/connector/abstracts.py", line 719, in connect
    self._open_connection()
  File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 206, in _open_connection
    self._socket.open_connection()
  File "/Library/Python/2.7/site-packages/mysql/connector/network.py", line 475, in open_connection
    errno=2003, values=(self.get_address(), _strioerror(err)))
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'localhost:8889:3306' (60 Operation timed out)

我尝试进入 connector 文件夹 并检查了 network.py 脚本,似乎错误是由于接口错误引起的。文档说:

此异常是针对源自连接器/Python 本身的错误引发的,与 MySQL 服务器无关。

errors.InterfaceError 是 errors.Error 的子类

如果需要,这是我的 Python 脚本:

import mysql.connector

con = mysql.connector.connect(user='root',
                              password ='root',
                              host='localhost',
                              database='testdb',
                              raise_on_warnings= True)

cur = con.cursor()

cur.close()
con.close()

如何摆脱界面错误?

【问题讨论】:

    标签: python mysql python-2.7 mysql-connector


    【解决方案1】:

    从您的主机中删除端口和冒号:

     con = mysql.connector.connect(user='root',
                                   password ='root',
                                   host='localhost',
                                   database='testdb',
                                   raise_on_warnings= True)
    

    您的端口已设置为 3306

    【讨论】:

    • 给出了相同的错误,除了给出 61 Connection denied 而不是 60 Operation timed out .. 可能是因为数据库可能不再存在所以我应该先安装MAMP?
    • 如果您使用的是 localhost,您需要确保您的 mamp 正在运行,并且 localhost 确实存在并且端口已准备好。
    • 试过了。 61 Connection denied仍然是同样的错误。
    • 看看你的mysql是否真的在运行——看起来有超时问题,所以验证你的mysql是否真的启动了,如果没有启动它——使用终端或任何mac客户端。
    • 它已启动。 mysql端口设置为8889,改成3306可以吗?我想我应该尝试安装mysqldb或pypi之类的东西。你会建议吗?非常感谢您的帮助!
    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 2017-04-19
    • 2017-09-07
    • 2023-01-03
    • 2018-11-28
    • 1970-01-01
    • 2011-10-02
    • 2023-04-11
    相关资源
    最近更新 更多