1

我正在尝试建立与使用 python 在本地运行的 MySQL 的连接。我使用以下代码

import MySQLdb
db = MySQLdb.connect("localhost","username","password","dbname")

我正在使用虚拟机,并且在 VM 上同时运行 Python 和 MySQL。我无法建立联系。

我得到这个错误

OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")

我尝试提供虚拟机的 IP 地址来代替 localhost,但仍然无法正常工作。我也尝试指定端口号。连接是否不同,因为它在 VM 上运行?

4

2 回答 2

0

当您尝试从命令行直接连接到 mysql 数据库时,它可以工作吗?

你的虚拟机运行的是什么操作系统?如果它是 Unix,那么是否有 mysqld 进程正在运行?

无论如何,这可能与 Python 无关。您的代码片段看起来不错。您只需要解决连接问题。查看此页面以了解有关如何找到此问题根源的详细信息。

http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html

我希望这个对你有用。

于 2013-02-05T15:14:44.483 回答
0

假设您的客户端和 mysql 服务器与您所说的在同一台机器上并且 mysql 服务器正在运行,您可以尝试以下操作

在您的my.cnf哪个主要/etc/mysql/my.cnf在 linux 中或检查您在 windows 上的 mysql 安装以找到my.cnf

查找bind-address指令并将 IP 地址设置为您的 VM 主机。如果在 linux 上,您可以使用ifconfigipconfig在 windows 上查看您的 VM ip

skip-networking如果还没有允许远程客户端,您也可以尝试注释掉行

重启mysqld

/etc/init.d/mysqld restart在基于 debian 的发行版上,service mysqld restart用于 Redhat 或在 Windows 上重新启动 mysql 服务

于 2013-02-05T15:42:40.153 回答