Appserv命令行批处理

时间:2015-02-11 18:22:09

标签: mysql batch-file installation

我使用Java和MySQL Appserv。我有一个名为" modb.sql"的数据库文件。 (在相对于我的程序位置的特定目录中),我经常需要删除旧数据库,创建一个新数据库(每次都使用相同的名称,在phpMyAdmin中)并将modb.sql文件导入到新数据库。

有没有办法自动化这个过程并将其包含在程序中或安装文件中?而不是由我或用户手动完成。

我可以使用另一个MySQL数据库管理器或C#而不是Java,如果这样可以让进程自动化。

1 个答案:

答案 0 :(得分:0)

您可以从Windows命令行或通过计划任务执行所有这些操作。我没有安装Appserv,因此我无法根据您的安装位置为您提供所有确切的文件路径位置。从技术上讲,您也可以从Java应用程序执行此操作,但这需要很多开销,而不是像计划任务那样真正实现自动化。

您基本上可以直接从计划任务中调用mysql.exe命令 - 或者从批处理文件中调用DropAndCreateMoDb.sql命令。

首先,让我们创建一个新的SQL文件,可能称为DROP DATABASE ...。放下命令(modb.sql)并在此处重新创建数据库。当然,确切的drop命令取决于你所谓的数据库,而create命令在很大程度上取决于@ECHO OFF C:\Program Files\Appserv\MySQL.exe -u foo -p bar < C:\data\DropAndCreateMoDb.sql C:\Program Files\Appserv\MySQL.exe -u foo -p bar < C:\data\modb.sql创建的结构;您还将在此处创建所需的任何权限。这样可以自动完成有关删除和重新创建的部分。

编写批处理文件。你真的不需要这样做,你可以从日程安排任务中调用MySQL两次,但我们正试图以正确的方式做到这一点。这是未经测试的,显然您将要替换正确的路径和MySQL用户名/密码 - 我建议为此创建一个维护帐户,以便您的完整凭据不在批处理文件中;通常的免责声明适用于正确保护您的帐户),但可能类似于:

.bat

显然它没有发现任何错误,你的用户名和密码在这里是明确的,但只要这是在你的本地开发机器上用于开发目的而你知道并理解风险,它就会起作用。

此时,您可以双击DropAndRecreate.bat文件,它应该删除并重新创建您的数据库。要完成它并完全自动化,您将添加计划任务。转到“计划任务”控制面板并添加新任务。告诉它新{{1}}或您决定调用它的路径,告诉Windows您希望任务运行的时间,现在它已完全自动化。

这里有很多变量使得实现的细节非常依赖于您的确切配置等等。确保您了解每个步骤实际执行的操作,而不仅仅是复制和粘贴。