【问题标题】:How to fix 'Can't connect to MySQL server on 'localhost:3306' error如何修复“无法连接到 'localhost:3306' 上的 MySQL 服务器”错误
【发布时间】:2019-11-18 01:49:21
【问题描述】:

我正在尝试使用 Python 连接到 MySQL 数据库。我正在运行以下代码

import mysql.connector
from mysql.connector import Error
import pyodbc 

conn = mysql.connector.connect(host='localhost',
                             database='data1',
                             user='username',
                             password='xxxx')

并得到错误信息

InterfaceError: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine actively refused it)

【问题讨论】:

  • 安装 MySQL 服务器? :)
  • 没有本地 MySQL 服务器在运行或防火墙阻止了连接。
  • @FlashThunder 我正在使用 MSSQLSERVER
  • @PankajGarg 所以难怪它不起作用......你正试图在它上面使用mysql 连接器。
  • @KlausD。在服务中,它显示 MSSQLSERVER 正在运行。以及如何检查防火墙是否阻止了连接。

标签: python mysql sql python-3.x database


【解决方案1】:

您正在使用 MySQL 驱动程序连接到 MS SQL,这将无法正常工作……您需要的是这样的:

   import pymssql  
   conn = pymssql.connect(server='localhost', user='username', password='xxxx', database='data1') 

【讨论】:

  • 但出现另一个错误“OperationalError: (20009, b'DB-Lib 错误消息 20009, 严重性 9:\n无法连接: Adaptive Server 不可用或不存在 (localhost:1433)\未知错误期间的 nNet-Lib 错误 (10060)\n')"
  • 在 SQL 服务器配置管理器中打开对 127.0.0.1:1433 的访问,最终检查服务器是否未在某个随机端口上运行(afaik 最近随机化了它),检查第一个答案这里:stackoverflow.com/questions/19348255/…
  • 18452, b'登录失败。登录来自不受信任的域,不能用于集成身份验证。DB-Lib 错误消息 20018,严重性 14:\n一般 SQL Server 错误:检查来自 SQL Server 的消息\nDB-Lib 错误消息 20002,严重性 9:\n自适应服务器连接失败 (localhost:1433)\n')
  • 这是您的身份验证方法的问题,而不是python本身,它连接正确...您需要正确配置您的MSSQL,我根本没有使用MSSQL,很抱歉,但可以'帮不了你,也许再问一个问题?
  • OperationalError: (18452, b'DB-Lib 错误消息 20018, 严重性 11:\n一般 SQL Server 错误: 检查来自 SQL Server 的消息\nDB-Lib 错误消息 20018, 严重性 14:\n一般SQL Server 错误:检查来自 SQL Server 的消息\nDB-Lib 错误消息 20002,严重性 9:\n自适应服务器连接失败 (localhost:1433)\n')
猜你喜欢
  • 2020-09-26
  • 1970-01-01
  • 2012-12-13
  • 2013-01-23
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 1970-01-01
  • 2021-02-17
相关资源
最近更新 更多