2

mysqldサービスが実行されているかどうかを確認する必要があります。ただし、サービスの名前は、インストールされているコンピューターによって異なる場合があります。たとえば、あるコンピュータでは、という名前が付けられている場合がありますMySQL56。だから私はnet start mysql56代わりに使用します。

事前にサービスの名前を取得するにはどうすればよいですか?

In cmdのようなものを試しましたC:\>"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"。ここでは、インストール中または最初の起動時にユーザー定義のパスを変更でき、そのサービスが開始されます。

ただし、それを実行すると、cmdウィンドウは開いたままになり、サービスが停止するのを待ちます。つまり、ユーザーは手動でウィンドウを閉じる必要があります。上記の行を実行して、cmdウィンドウを自動的に閉じる方法はありますか?

4

1 に答える 1

3

あなたが何を達成しようとしているのか、私にはよくわかりません。インストールされている 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

/b2 番目のコマンド プロンプト ウィンドウを非表示にするオプションを追加します。

start "" /b "%COMSPEC%" /c "%SERVER%" --defaults-file="%CONFIG%" --standalone
于 2013-03-12T18:08:31.247 に答える