如何使用ant转储MySQL数据库?

Mar*_*ian 10 java mysql ant mysqldump

我找不到有关如何使用ant任务转储MySQL数据库的任何信息.

我是否必须创建自己的任务才能执行此操作?

ANT script ===generate==> myDataBase.sql
Run Code Online (Sandbox Code Playgroud)

Tom*_*ren 22

创建一个运行"mysqldump"命令的目标,如下所示:

<target name="dump-database">  
    <exec executable="mysqldump" output="database-dump.sql">  
        <arg value="--user=username" />  
        <arg value="--password=password" />  
        <arg value="--host=localhost" />  
        <arg value="--port=3306" />  
        <arg value="mydatabase" />  
    </exec>  
</target>  
Run Code Online (Sandbox Code Playgroud)

现在,您可以通过执行ant dump-database来进行转储


Ric*_*ins 8

并使用ant 导入一些sql文件,这也很有用:

    <exec executable="mysql" failonerror="true" input="file.sql">
        <arg value="-u ${user}" />  
        <arg value="-p${pass}" />  
        <arg value="-h ${host}" />  
        <arg value="-P 3306" />  
        <arg value="-D ${database}" />  
    </exec>
Run Code Online (Sandbox Code Playgroud)

*请注意,正确的是-ppassword 而不是-p密码

要么:

    <exec executable="mysql" failonerror="true" input="file.sql">
        <arg value="--user=${user}" />  
        <arg value="--password=${pass}" />  
        <arg value="--host=${host}" />  
        <arg value="--port=3306" />  
        <arg value="--database=${database}" />  
    </exec>
Run Code Online (Sandbox Code Playgroud)

它也很好,因为它不使用像org.gjt.mm.mysql.Driver这样的外部libs/sql驱动程序.