2012-05-18 87 views
0

我需要使用ant任務啓動和停止mysql 5.5。如何使用ANT任務啓動MySql

早期的ANT腳本是爲hsqldb數據庫做的,它使用的類是org.hsqldb.Server。有人能告訴我哪個類用於MySQL 5.5。

以下是正在HSQLDB的情況下使用了MYDB: <java fork="true" spawn="true" classname="org.hsqldb.Server" classpathref="build.runtime.classpath"> <arg line="-database.0 file:data/mydb -dbname.0 mydb"/> </java>

我需要爲MySQL 5.5 eqivalant。我知道一個連接器用於連接到MySQL 5.5數據庫,我使用mysql-connector-java-5.1.15-bin.jar

有人可以告訴我如何使用ant腳本啓動和停止mysql數據庫。

謝謝。

+0

HSQLDB被設計作爲嵌入式數據庫。另一方面,Mysql是基於客戶端 - 服務器的應用程序。服務器組件通常將作爲OS服務進行安裝和運行。也許給你更多的背景知道你爲什麼試圖這樣做? –

+0

@Mark:我已經安裝了mysql 5.5。我正在使用一個具有'start-db'的應用程序,這是一個在服務器啓動之前運行的任務。但該應用程序正在使用hsqldb。我想要做的是使用mysql作爲該應用程序的數據庫。所以我只想使用已經存在的腳本,並在'start-db'運行時連接到已經運行的數據庫。 – skip

+1

我的觀點是,如果你安裝了mysql,很可能它已經在後臺運行了。 hsqldb是一種特殊情況,它被設計爲在應用程序中嵌入(並執行)的數據庫。 –

回答

1

在機器引導時將MySQL配置爲automatically start會更正常。 MySQL被設計爲在後臺持續運行。

如果你真的想在ANT中停止和啓動MySQL,可以調用服務器腳本(當然,假設MySQL與構建同一臺機器上運行)。

<target name="start-db"> 
    <exec executable="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" osfamily="windows"> 
    </exec> 

    <exec executable="mysql.server" osfamily="unix"> 
    <arg value="start"/> 
    </exec> 
</target> 

<target name="stop-db"> 
    <exec executable="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" osfamily="windows"> 
    <arg value="-u"/> 
    <arg value="root"/> 
    <arg value="shutdown"/> 
    </exec> 

    <exec executable="mysql.server" osfamily="unix"> 
    <arg value="stop"/> 
    </exec> 
</target> 

注:

+0

您能否告訴我如何使用ant腳本連接到特定數據庫(例如mydb)。謝謝你。 – skip

+1

@skip連接?您的意思是如何使用ANT SQL任務,或者您是否想要關於如何配置mysql jdbc URL的信息?我建議發佈一個新問題,提供更多關於你想要做什麼的細節。 –

+0

我查看了http://ant.apache.org/manual/Tasks/sql.html,我從它的理解是' '應該足以連接到'mydb'。這是我正確的,然後可以請告訴我,我應該把它放在上面發佈的上面'star-db'任務作爲答案。萬分感謝。 – skip