【问题标题】:MySQLdb connection error with localhost with different port (eg. 8080)MySQLdb 与具有不同端口的 localhost 的连接错误(例如 8080)
【发布时间】:2012-05-08 02:51:46
【问题描述】:

我正在尝试将 MySQLdb 连接到 MySQL。当我的服务器是 localhost 和端口 80 时,它工作正常。但由于某种原因,我不得不将端口更改为 8080。现在如何在连接命令中指定端口?
这是我之前使用的:

db = MySQLdb.connect(host = "localhost", user = "root", passwd = "", db = "pymysql")

现在我的服务器是“localhost:8080”。那么我应该在哪里提供有关此端口的信息? 我试过这个:

db = MySQLdb.connect(host = "127.0.0.1:8080", user = "root", passwd = "", db = "pymysql")

这就是我得到的:

Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
db = MySQLdb.connect(host = "127.0.0.1:8080", user = "root", passwd = "", db = "pymysql")
File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2005, "Unknown MySQL server host '127.0.0.1:8080' (11004)")

请帮忙!!!

【问题讨论】:

  • 你试过"localhost:8080"吗?我猜这并不重要

标签: python mysql localhost mysql-python


【解决方案1】:

您应该阅读documentation

connect(parameters...)


    host
        name of host to connect to. Default: use the local host via a UNIX socket (where applicable)
    user
        user to authenticate as. Default: current effective user.
    passwd
        password to authenticate with. Default: no password.
    db
        database to use. Default: no default database.
    port
        TCP port of MySQL server. Default: standard port (3306).

【讨论】:

  • 连接正常,但未提及 MySQL 端口 3306。所以我只尝试了服务器主机。
  • 无论如何,在将端口指定为 3306 后,它与 host="localhost" 一起工作正常
  • 之所以有效,是因为port 的默认设置是 mysql (3306) 的默认端口。
【解决方案2】:

8080 或 80 端口通常用于 Web 服务器而不是 MySQL

MySQL 的默认端口是 3306

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-08
    • 2020-06-18
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2016-01-13
    • 2017-06-28
    • 2016-05-18
    相关资源
    最近更新 更多