MySQLdb 错误:使用 MySQL Workbench 的“未知数据库 Python”

Posted

技术标签:

【中文标题】MySQLdb 错误:使用 MySQL Workbench 的“未知数据库 Python”【英文标题】:MySQLdb Error: 'Unknown Database Python' using MySQL Workbench 【发布时间】:2014-08-15 23:55:37 【问题描述】:

当我在 python 2.7.7 中运行下面的代码时,我也得到下面的错误。

代码:

    import mysqldb

    db = MySQLdb.connect(
        host="localhost",
        port=3306,
        user="root",
        passwd="mypassword",
        db="python"
    )

错误: '_mysql_exceptions.OperationalError: (1049, "Unknown database 'python'")'

该数据库是使用 MySQL Workbench 创建的,并以 python 名称保存到桌面(与 python 文件相同的位置)。 我没有使用 Django 或类似的东西,也找不到该人不使用它的答案。 请帮忙。

【问题讨论】:

再次检查 'python' 数据库是否存在于 localhost:3306 你已经安装了MySQL Workbench,但是你安装了MySQL Server ??查看您的操作系统服务。 是 MySQL 服务器正在本地主机上运行 好的,所以我认为我在下面给出的答案足以让您创建数据库。如果您有其他问题或误解,请在答案中告诉我。 ;) 【参考方案1】:

MySQL Workbench 生成一个.mwb 文件,该文件不是数据库。这个文件只是一个Entity-Relationship schema(非常有用)。

您必须导出架构的SQL create script

Menu File > Export > Forward Engineer SQL CREATE script

然后你执行这个脚本(一个.sql文件)来创建你的数据库。

例如,您可以这样做:

MySQL 命令 phpMyAdmin MySQL 工作台(通过连接)

创建一个 MySQL Workbench 连接:

复制并执行您的 SQL 创建脚本:

在您的情况下,您的架构必须是这样的(数据库名称):

供您参考,MySQL 数据库是通过 IP/端口使用的,而不是通过文件(例如,SQLite 是文件数据库,而不是 MySQL)。

【讨论】:

我已将其导出为突出显示,但其余部分如何做? (你可以看出我不是 SQL 专家)(如果可能的话,我也宁愿不使用 phpMyAdmin) 图形方式:在 MySQL Workbench 中创建连接。一种shell方式,启动MySQL命令行工具并在其中执行/复制导出的文件。 我如何获得链接到 python 的连接? 你的python代码肯定没问题(顺便说一下我不知道python;))。问题是你有一个 MySQL 服务器,但是你还没有在你的 python 代码中创建你想要连接的python 数据库。 MySQL Workbench 连接仅在 MySQL Workbench 中使用! ;) SQL 创建脚本可让您轻松创建数据库,仅此而已。 我已经为你添加了另一张图片。

以上是关于MySQLdb 错误:使用 MySQL Workbench 的“未知数据库 Python”的主要内容,如果未能解决你的问题,请参考以下文章

Python 导入 MySQLdb 错误 - Mac 10.6

MySQLdb/_mysql.c(29):致命错误 C1083:无法打开包含文件:'mysql.h':没有这样的文件或目录

MySQLdb 安装错误 - _mysql.c:44:23: error: my_config.h: No such file or directory

我在窗口 10 64bit 上使用 pip install flask-mysqldb 时遇到问题,出现错误

MySQLdb 和 _mysql 版本不兼容:如何升级 _mysql

Ubuntu中的Python-MySQLdb错误