| この記事の要点 |
|---|
|
systemd を使う方法(CentOS 7+ / Ubuntu 16.04+ / 標準)
# 起動
$ sudo systemctl start mysql
# または
$ sudo systemctl start mysqld # CentOS / RHEL の MySQL 公式パッケージ
$ sudo systemctl start mariadb # MariaDB
# 停止
$ sudo systemctl stop mysql
# 再起動
$ sudo systemctl restart mysql
# リロード(設定だけ再読み込み、可能なら)
$ sudo systemctl reload mysql
# 自動起動の有効化(OS 起動時に自動で起動)
$ sudo systemctl enable mysql
# 自動起動の無効化
$ sudo systemctl disable mysql
# 状態確認
$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled)
Active: active (running) since ...
Main PID: 1234 (mysqld)
Tasks: 38
Memory: 350.2M
CGroup: /system.slice/mysql.service
└─1234 /usr/sbin/mysqld --daemonize ...
service コマンド(古い CentOS 6 / 互換層)
# CentOS 6 / 互換層
$ sudo service mysqld start
$ sudo service mysqld stop
$ sudo service mysqld restart
$ sudo service mysqld status
# Ubuntu の場合
$ sudo service mysql start
古い init スクリプト(さらに古い環境)
$ sudo /etc/init.d/mysql start
$ sudo /etc/init.d/mysql stop
$ sudo /etc/init.d/mysql restart
mysqld_safe で直接起動
# 直接起動 (root として)
$ sudo mysqld_safe --user=mysql &
# 設定ファイル指定
$ sudo mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
# シングルユーザモード(パスワードリセット用)
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
停止の代替方法(mysqladmin)
# クライアントから停止コマンド
$ mysqladmin -u root -p shutdown
Enter password: ****
# 動作確認 (ping)
$ mysqladmin -u root -p ping
mysqld is alive
強制停止(kill)
サービス停止が効かない場合の最終手段:
# プロセス ID 確認
$ pgrep -f mysqld
1234
2345 # mysqld_safe の子プロセスもある
# 安全に停止 (SIGTERM)
$ sudo kill 1234
# 効かない場合 (SIGKILL = 強制)
$ sudo kill -9 1234
# 注意: SIGKILL は DB 破損リスクあり、最後の手段
状態・接続確認
① systemd status
$ sudo systemctl status mysql
# ログを直近 50 行
$ sudo journalctl -u mysql -n 50
# リアルタイム監視
$ sudo journalctl -u mysql -f
② プロセスとポート
# プロセス確認
$ ps aux | grep mysql
# ポート確認 (デフォルト 3306)
$ ss -tnlp | grep 3306
LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=1234,fd=21))
# ファイルディスクリプタ
$ sudo lsof -i :3306
③ クライアントから接続テスト
# 接続できれば起動中
$ mysql -u root -p -e "SELECT VERSION();"
+-------------------------+
| VERSION() |
+-------------------------+
| 8.0.32-0ubuntu0.22.04.2 |
+-------------------------+
# ping (接続確認のみ)
$ mysqladmin -u root -p ping
mysqld is alive
# 接続数・スレッド
$ mysqladmin -u root -p status
起動しない場合のトラブルシュート
- ログを確認:
/var/log/mysql/error.log/journalctl -u mysql - 権限:
/var/lib/mysql配下が mysql:mysql 所有か - ポート競合: 3306 が他プロセス使用中
- ディスク容量:
df -hでフル? - my.cnf: 構文エラー(
mysqld --validate-config) - SELinux:
sudo setenforce 0で一時的に試す - tmpfs:
/tmpが足りない
my.cnf の場所
# 標準の検索順
$ mysql --help | grep -A 2 "Default options"
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
# 実際に使われている設定ファイル
$ mysqld --verbose --help | grep -A 1 "Default options"
Docker で起動する場合
# 起動
$ docker run -d --name mysql8 \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=mydb \
-p 3306:3306 \
-v mysql-data:/var/lib/mysql \
mysql:8.0
# 状態確認
$ docker ps
$ docker logs mysql8
# 停止・再起動
$ docker stop mysql8
$ docker start mysql8
$ docker restart mysql8
# 接続
$ docker exec -it mysql8 mysql -uroot -p
関連記事
子ページ
子ページはありません
同階層のページ
- 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