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

时间:2009-12-11 20:57:11

标签: mysql database credentials relational-database

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

每次我移植我的应用程序时,我都忘记了设置顺序。当前的设置顺序需要在MySQL中创建一个帐户供应用程序使用。一旦应用程序具有帐户和权限,它就可以创建数据库并设置表。

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

我发现所有的例子都说明在运行应用程序之前首先在MySQL中创建一个用户帐户。这些说明通常告诉您如何使用MySQL命令行应用程序创建帐户。但我希望我的应用程序在MySQL中创建自己的帐户。

我使用的是Visual Studio 2008,C ++语言和MySQL Connector C ++ 1.0.5。该平台是Windows XP或Vista。连接器使用与Java JDBC API类似的API。我会接受Java或C ++中的例子。

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

感谢。

3 个答案:

答案 0 :(得分:1)

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

此外,用户必须在安装/设置时提供数据库帐户凭据,即使它“烦人”也是如此。如果您的应用程序依赖于数据库,则应该要求用户自己处理数据库服务器和凭据参数。

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

如果您的应用程序只需要一个轻量级的内部数据库,那么您应该查看SQLite embedded database而不是MySQL。这将允许您的应用程序数据库自动存在,无需任何用户设置。

答案 1 :(得分:1)

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

如果这看起来不太令人满意,也许您的设置说明可能会详细说明帐户创建过程。

答案 2 :(得分:1)

您可以从SQL查询创建帐户和表格......

首先,创建一个具有足够权限的默认帐户来创建新用户/表/数据库,但没有足够的权限来烧毁该地点。

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

第三,您的应用程序会退出默认帐户,并进入新创建的帐户。

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