2013-03-12 35 views
1

我需要檢查mysqld服務是否正在運行。但是,根據安裝的計算機,服務的名稱可能會有所不同。例如,在一臺計算機上,它可能被命名爲MySQL56。所以我用net start mysql56來代替。如何在不知道服務名稱的情況下從cmd啓動服務mysql?

我怎樣才能獲得成功的時間服務的名稱?

我想是這樣C:\>"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"在CMD,在這裏我可以在安裝過程中或首次啓動時更改路徑,用戶自定義,它會啓動該服務。

不過,如果我執行一個那麼cmd窗口保持打開狀態等待服務停止。這意味着用戶必須手動關閉窗口。有沒有辦法執行上面的行,並讓cmd窗口自動關閉?

回答

2

這不是很清楚,我你想達到的目標。你想找出已安裝的MySQL服務的名稱嗎?您可以使用該wmic

wmic service where "PathName LIKE '%mysqld%'" get DisplayName /value | findstr /i "displayname" 
if %errorlevel% equ 0 (
    echo MySQL service installed. 
) else (
    echo MySQL service not installed. 
) 

或者你想開始mysqld沒有安裝服務?你可以用--standalone選項來做到這一點。

set SERVER=%ProgramFiles%\MySQL\MySQL Server 5.6\bin\mysqld 
set CONFIG=%ProgramData%\MySQL\MySQL Server 5.6\my.ini 
"%SERVER%" --defaults-file="%CONFIG%" --standalone 

的過程總是堵控制檯,雖然如此,如果你希望腳本做其他的東西而mysqld在後臺運行,你需要在另一個cmd實例啓動:

set SERVER=%ProgramFiles%\MySQL\MySQL Server 5.6\bin\mysqld 
set CONFIG=%ProgramData%\MySQL\MySQL Server 5.6\my.ini 
start "" "%COMSPEC%" /c "%SERVER%" --defaults-file="%CONFIG%" --standalone 

添加選項/b打壓第二個命令提示符窗口:

start "" /b "%COMSPEC%" /c "%SERVER%" --defaults-file="%CONFIG%" --standalone 
+0

感謝您的回覆,當時的想法是,以檢查是否mysqld正在銀行經營如果沒有,運行它,因爲它是我的應用程序所需要的。這就是爲什麼我開始服務後試圖關閉控制檯,用戶不需要它。這個wmic是完美的,我可以存儲它的名稱,然後使用該網絡開始的事情,所以非常感謝你。 – zelvator 2013-03-12 20:31:22

相關問題