使用哪个数据库进行快速和 pygtk

使用哪个数据库进行快速和 pygtk

我正在使用编写应用程序快速 Pygtk林间空地

该应用程序应该具有数据库连接(例如MySQL)用于从本地或者外包机器\服务器读写数据。

但是,在我的机器里MySQL安装,但在发布应用程序时,应将其安装在另一台 ubuntu 机器上,该机器可能没有 mysql,而且没有具有所需数据库名称和结构的相同数据库....

我的问题是:

  1. 使用 mysql 作为数据库是一个好选择吗

    1.2 如果不是,那是什么?

  2. 是否可以从 ubuntu 软件中心安装时嵌入 mysql 或其他数据库程序?

    2.2 如果可能的话:如何(有教程吗?)

  3. 每次用户启动应用程序时,将安全数据存储在 mysql(或其他)之外的哪里,以便连接数据库

答案1

您应该考虑使用 SQLite 作为数据库引擎。它非常易于使用,因为它将所有内容存储在磁盘上的单个文件中,并且 Python 附带SQLite 模块默认情况下。

您还可以使用 ORM,例如SQL对象或者SQLAlchemy因此您只需编写一次代码,即可部署到所有类型的数据库引擎上。由于采用了 Pythonic 方法,因此它也让事情变得更有趣。

答案2

考虑使用外部 MySQL,例如 xeround

考虑使用 XML,它可能是一个穷人的 dB。

如果你真的需要 mysql。那么你可以将 mysql-server 作为应用程序的依赖项。但这不是一个好主意……它将要求你在安装应用程序时设置 mysql。这可能会变得很棘手。

安装 mysql 后,设置数据库的一个技巧是转到 phpmyadmin,然后“导出”您的数据库。选择 sql 导出。然后打开它下载的文件。这将是一个巨大的 sql 命令。将其复制粘贴到您的程序中,一旦您从用户那里获得所需的信息(mysql 用户名/密码),您就可以执行该导出,然后他们的数据库将与您在本地机器上创建的数据库完全相同。

不过,我通常建议不要在本地机器上使用 mysql-server,除非真的需要。

答案3

@triunenature 建议使用外部(托管)数据库,如 Xeround。我应该指出,这会带来非常高的延迟,但如果应用程序不密集查询数据库,或者也许你可以以异步方式执行操作,使用某种本地缓存来保存数据,直到应用程序需要时,这可能是可以接受的。当然,它可以避免将数据库嵌入应用程序的麻烦。以防万一这是一个相关的场景,我想提一下 Xeround 已经关闭,但有几种替代方案,既适用于MySQL(ClearDB)和其他流行的数据库 - 因为您正在考虑其他选项 - 例如Postgres(Heroku Postgres),Redis(Redis 云)MongoDB(蒙古实验室)。

相关内容