gpt4 book ai didi

mysql - Appserv 命令行批处理

转载 作者:行者123 更新时间:2023-11-29 23:01:31 28 4
gpt4 key购买 nike

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

有没有办法自动执行此过程并将其包含在程序中或安装文件中?而不是由我或用户手动执行。

如果允许该过程自动进行,我可以使用另一个 MySQL 数据库管理器或 C# 来代替 Java。

最佳答案

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

您基本上会调用 mysql.exe直接从您的计划任务或批处理文件中命令。

首先,让我们创建一个新的 SQL 文件,可能名为 DropAndCreateMoDb.sql 。将命令删除 ( DROP DATABASE ... ) 并在此处重新创建数据库。当然,确切的 drop 命令取决于您对数据库的称呼,而 create 命令在很大程度上取决于 modb.sql 创建的结构。 ;您还可以在此处创建所需的任何权限。这会自动执行删除和重新创建的部分。

编写一个批处理文件。您实际上并不需要这样做,您可以从计划任务中调用 MySQL 两次,但我们正在尝试以正确的方式执行此操作。这是未经测试的,显然你需要替换正确的路径和 MySQL 用户名/密码——我建议为此创建一个维护帐户,这样你的完整凭据就不会出现在批处理文件中;通常的免责声明适用于正确保护您的帐户),但也许类似于:

@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

显然,它不会发现任何错误,并且您的用户名和密码在这里都是清晰的,但只要这是在您的本地开发计算机上用于开发目的,并且您知道并理解其中的风险,它就会起作用。

此时,您可以双击.bat文件,它应该删除并重新创建您的数据库。要完成它并使其完全自动化,您将添加一个计划任务。转到计划任务控制面板并添加新任务。告诉它新的DropAndRecreate.bat的路径或者无论您决定如何调用它,告诉 Windows 您希望任务何时运行,现在它是完全自动化的。

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

关于mysql - Appserv 命令行批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28461583/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com