| この記事の要点 |
|
最短手順
MySQL がすでにサービスとして登録されているなら、管理者として開いたコマンドプロンプトで次の 2 行を実行するだけです。
sc query type= service state= all | findstr /i mysql
net start MySQL80
1 行目で表示された SERVICE_NAME を 2 行目の MySQL80 の部分に指定します。「MySQL80 サービスは正常に開始されました。」と表示されれば起動完了です。停止は net stop MySQL80 です。
サービスが見つからない場合は、MySQL がインストールされていないか、サービス登録されていません。以下の手順を順に確認してください。
前提
MySQL のインストールが完了していることを前提とします。完了していない方はこちらを参照してください。本稿は Windows 10 / 11 を対象とします。
Windows 版 MySQL の入れ方には主に次の 3 種類があり、起動方法が少し異なります。
| 入れ方 | サービス登録 | 起動方法 |
|---|---|---|
| MySQL Installer(MSI) | インストール時に自動登録(名前は MySQL80 など) | net start またはサービス画面 |
| ZIP アーカイブ版 | 自分で mysqld --install する | net start またはサービス画面 |
| XAMPP 同梱(MariaDB) | 既定では登録しない | XAMPP Control Panel の Start ボタン |
環境変数(PATH)の設定
コマンドプロンプトから mysql や mysqld を実行できるように、MySQL の bin ディレクトリ(例: C:\Program Files\MySQL\MySQL Server 8.0\bin)を環境変数 PATH に追加しておきます。
環境変数の設定方法はこちら。コマンドプロンプトの開き方はこちら。
PATH を変更したら、開いていたコマンドプロンプトは閉じて開き直してください。開き直さないと新しい PATH が反映されません。
MySQL をサービスとして登録する(ZIP 版の場合)
ZIP 版を展開しただけの場合は、まずデータディレクトリを初期化してから、サービスとして登録します。管理者としてコマンドプロンプトを開き、以下を実行します。
cd "C:\mysql\bin"
rem データディレクトリの初期化(初回のみ)。root の仮パスワードは .err ログに出力される
mysqld --initialize --console
rem サービスとして登録(サービス名を省略すると MySQL になる)
mysqld --install
rem 設定ファイルとサービス名を指定する場合
rem mysqld --install MySQL80 --defaults-file="C:\mysql\my.ini"
「Service successfully installed.」と表示されれば成功です。
「Install/Remove of the Service Denied!」と表示された場合は、管理者として実行できていません。スタートメニューで「cmd」を検索し、右クリックから「管理者として実行」を選んで開き直してください。
サービス一覧に MySQL が登録されたので、そちらから起動・停止をすることもできます(サービスの確認方法はこちら)。登録を取り消すときは mysqld --remove サービス名 を実行します。
MySQL の起動と停止
コマンドプロンプト(管理者)で以下のコマンドを実行しましょう。サービス名の大文字・小文字は区別されません。
net start mysql
net stop mysql
PowerShell を使う場合は次のコマンドでも同じことができます。
Get-Service *mysql*
Start-Service MySQL80
Stop-Service MySQL80
GUI で操作したい場合は、Win + R で「services.msc」を開き、MySQL のサービスを右クリックして「開始」「停止」を選びます。同じ画面の「スタートアップの種類」を「自動」にしておくと、Windows 起動時に MySQL も自動で起動します。
起動できないときの原因と対処
| 表示されるメッセージ | 原因と対処 |
|---|---|
| システム エラー 5 が発生しました。アクセスが拒否されました。 | 管理者権限がありません。コマンドプロンプトを管理者として実行します |
| サービス名が無効です。 | サービス名が違うか、未登録です。sc query で正しい名前を確認します |
| MySQL サービスを開始できませんでした。 | 設定ファイルの誤り、データディレクトリの破損や権限、ポート競合などです。データディレクトリ内の「ホスト名.err」ファイルの最後の数行に具体的な理由が書かれています |
| サービスは開始されましたが、すぐに停止した | 上と同じく .err ファイルを確認します。my.ini の datadir や basedir のパスの誤りが典型です |
ポート 3306 を別のプロセスが使っていないかは netstat -ano | findstr :3306 で確認できます。XAMPP の MariaDB と MySQL を両方入れていると、同じポートを取り合って片方が起動できないことがよくあります。
サービスを使わずに原因を調べたいときは、mysqld --console でフォアグラウンド起動すると、エラーメッセージがそのまま画面に表示されます。
起動できたかの確認方法
sc query MySQL80
mysql -u root -p -e "SELECT VERSION();"
sc query の STATE が RUNNING になっていて、mysql コマンドでバージョンが表示されれば、MySQL は正常に動いています。
関連
- mysqld: Can't change dir のエラー対処 (Windows)
- MySQL root パスワードの変更方法
- MySQL root ユーザーの初期パスワード確認方法完全ガイド
- Windows コマンドプロンプト コマンド一覧
- MySQL/MariaDB 初期設定 (my.cnf) 完全ガイド
子ページはありません
- MySQLの起動(Windows)
- MySQLの起動、停止、再起動(Linux)
- MYSQL への接続
- データベース一覧の表示
- データベースへの接続
- テーブル一覧を表示
- テーブル定義を確認
- ユーザーおよびパスワード一覧の確認
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09