代码之家  ›  专栏  ›  技术社区  ›  Thomas Matthews

在MySQL中创建用户帐户的应用程序

  •  1
  • Thomas Matthews  · 技术社区  · 15 年前

    我正在创建一个C++应用程序,使用的是MySQL数据库。如果可能,我希望应用程序为自己创建一个帐户。我还没有找到这样做的方法。

    每次导入应用程序时,我都会忘记设置顺序。当前设置顺序要求在MySQL中创建一个帐户,以便应用程序使用。一旦应用程序拥有帐户和特权,它就可以创建数据库并设置表。

    而且,这对我的终端用户来说也有点烦人。如果应用程序可以执行所有设置,我的应用程序将更容易使用。

    在运行应用程序之前,我发现了在MySQL中首先创建用户帐户的所有状态示例。这些指导通常告诉如何使用mysql命令行应用程序创建帐户。但我希望我的应用程序在MySQL中创建自己的帐户。

    我使用Visual Studio 2008、C++语言和MySQL连接器C++1.0.5。平台是Windows XP或Vista。连接器使用类似的API到JavaJDBC API。我将接受Java或C++中的例子。

    顺便说一句,我在使用ODBC时遇到了问题,所以这是不可能的。

    谢谢。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Mike Atlas    15 年前

    你有一个 chicken or the egg problem 在这里。如果没有登录到服务器并为应用程序创建其他帐户所需的帐户凭据,则无法创建数据库帐户。

    此外,在安装/设置期间,用户必须提供数据库帐户凭据是非常常见的,即使这是“烦人的”。如果您的应用程序依赖于一个数据库,那么应该期望用户自己处理数据库服务器和凭证参数。

    不幸的是,数据库客户端(JDBC/ODBC)和语言(Java/C++)与你的困境无关。

    如果您的应用程序只需要一个轻量级的内部数据库,那么您可能应该研究 SQLite embedded database 而不是mysql。这将允许应用程序数据库独立存在,而无需任何用户设置。

        2
  •  1
  •   Liz Albin    15 年前

    也许您可以在设置中包含帐户创建,而不是在应用程序中包含帐户创建。在运行安装程序时,它还可以运行所描述的创建或使用帐户的过程。

    如果这似乎不令人满意,也许您的设置说明可以详细说明帐户创建过程。

        3
  •  1
  •   Tom Neyland    15 年前

    您可以创建帐户和表,然后…来自SQL查询的所有内容。

    首先,创建一个默认帐户,该帐户有足够的权限创建新的用户/表/数据库,但没有足够的权限烧掉该位置。

    第二,当用户第一次启动应用程序时,在后端,您的程序将登录到MySQL数据库,并向MySQL数据库发送一个SQL查询,以生成一个新的用户/表/数据库。

    第三,应用程序从默认帐户注销,并登录到新创建的帐户。

    如果您执行类似的操作,请务必考虑可能的安全问题。