ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
変数(設定値)の確認: SHOW VARIABLES
MySQL の現在動作中の設定値は SHOW VARIABLES で確認できます。セッション値とグローバル値の 2 系統がある点に注意:
-- 全変数(セッション値)
SHOW VARIABLES;
-- 全変数(グローバル値 = サーバ全体の現在値)
SHOW GLOBAL VARIABLES;
-- LIKE で特定の変数だけ
SHOW VARIABLES LIKE 'max_connections';
SHOW VARIABLES LIKE 'innodb_%';
SHOW VARIABLES LIKE '%timeout%';
-- 個別取得(@@global. / @@session.)
SELECT @@global.max_connections;
SELECT @@session.autocommit;
SELECT @@version, @@hostname, @@datadir;
セッション vs グローバル:
| 種別 | 説明 | 変更 |
|---|---|---|
| GLOBAL | サーバ全体・新規接続に適用 | SET GLOBAL var=値 要 SUPER 権限。再起動で消える |
| SESSION | 現在の接続だけ | SET SESSION var=値 接続終了で消える |
| my.cnf | サーバ起動時に読み込み | 恒久化したいならここに書く |
稼働状態(カウンタ)の確認: SHOW STATUS
「現在の接続数」「クエリ実行回数」など実行中の統計カウンタは SHOW STATUS:
-- 接続関連
SHOW STATUS LIKE 'Threads_connected'; -- 現在の接続数
SHOW STATUS LIKE 'Threads_running'; -- 実行中スレッド
SHOW STATUS LIKE 'Max_used_connections';-- 起動以来の最大接続数
SHOW STATUS LIKE 'Connections'; -- 累積接続試行回数
SHOW STATUS LIKE 'Aborted_connects'; -- 失敗した接続数
-- クエリ統計
SHOW GLOBAL STATUS LIKE 'Questions'; -- 累積クエリ数
SHOW GLOBAL STATUS LIKE 'Slow_queries'; -- スロークエリ数
-- InnoDB バッファプール
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_%';
SHOW GLOBAL STATUS LIKE 'Innodb_rows_%';
-- 全カウンタ(数百件)
SHOW GLOBAL STATUS;
information_schema で SQL として扱う
information_schema.GLOBAL_VARIABLES / GLOBAL_STATUS ならばテーブルとして JOIN・条件抽出可能(MySQL 5.7 以前。8.0 では performance_schema に移行):
-- MySQL 5.7 以前
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM information_schema.GLOBAL_VARIABLES
WHERE VARIABLE_NAME LIKE 'innodb_%'
ORDER BY VARIABLE_NAME;
-- MySQL 8.0+
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM performance_schema.global_variables
WHERE VARIABLE_NAME LIKE 'innodb_%';
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM performance_schema.global_status
WHERE VARIABLE_NAME IN ('Threads_connected', 'Max_used_connections');
-- 接続上限と現在接続数を一発で比較
SELECT
(SELECT VARIABLE_VALUE FROM performance_schema.global_variables
WHERE VARIABLE_NAME = 'max_connections') AS max_connections,
(SELECT VARIABLE_VALUE FROM performance_schema.global_status
WHERE VARIABLE_NAME = 'Threads_connected') AS current_connections;
my.cnf の場所と読み込み順
サーバ起動時に読まれる設定ファイルの探索順は mysql --help に書いてあります:
mysql --help | grep -A 1 "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
後に読まれたものが優先されます。OS によって場所が違うので注意:
| OS / 配布 | 典型的な場所 |
|---|---|
| Ubuntu / Debian(APT 版) | /etc/mysql/mysql.conf.d/mysqld.cnf |
| RHEL / CentOS / Rocky | /etc/my.cnf + /etc/my.cnf.d/*.cnf |
| macOS Homebrew | /opt/homebrew/etc/my.cnf |
| Windows | C:\ProgramData\MySQL\MySQL Server 8.0\my.ini |
| Bitnami / XAMPP | /opt/bitnami/mysql/conf/my.cnf |
InnoDB の内部状態: SHOW ENGINE INNODB STATUS
デッドロック発生時の調査やバッファプール状況は SHOW ENGINE INNODB STATUS で:
SHOW ENGINE INNODB STATUS\G
-- 出力(抜粋):
-- ------------------------
-- LATEST DETECTED DEADLOCK
-- ------------------------
-- 2026-05-17 10:23:14
-- *** (1) TRANSACTION:
-- TRANSACTION 12345, ACTIVE 3 sec inserting
-- ...
--
-- ------------
-- TRANSACTIONS
-- ------------
-- ...
--
-- ----------------------
-- BUFFER POOL AND MEMORY
-- ----------------------
-- Total large memory allocated 137363456
-- ...
主要セクション:
- LATEST DETECTED DEADLOCK: 直近のデッドロック詳細(両 SQL とロック)
- TRANSACTIONS: 実行中トランザクション一覧
- BUFFER POOL AND MEMORY: バッファプールヒット率
- ROW OPERATIONS: 直近の行操作レート
テーブル / インデックスの確認
-- DB 一覧
SHOW DATABASES;
-- 現在の DB
SELECT DATABASE();
-- テーブル一覧
SHOW TABLES;
SHOW TABLES FROM myapp;
-- テーブル定義
SHOW CREATE TABLE users\G
DESCRIBE users;
SHOW COLUMNS FROM users;
-- インデックス
SHOW INDEX FROM users;
-- テーブルサイズ
SELECT
TABLE_NAME,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS size_mb,
TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'myapp'
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
ユーザー / 権限の確認
-- 現在の接続情報
SELECT USER(), CURRENT_USER(), @@hostname;
-- ユーザー一覧
SELECT User, Host FROM mysql.user;
-- 自分の権限
SHOW GRANTS;
-- 他人の権限
SHOW GRANTS FOR 'app_user'@'%';
FAQ
Q: SHOW VARIABLES と my.cnf の値が違う
A: my.cnf を編集しただけでは反映されず、サーバ再起動が必要。または SET GLOBAL で動的変更。動的変更不可な変数もあるので注意。
Q: どの my.cnf が実際に効いているか分からない
A: mysql --help | grep -A 1 "Default options" で読み込み順を確認し、最後に書いてあるファイルが優先。
Q: SHOW STATUS の値はいつリセットされる?
A: サーバ起動時、または FLUSH STATUS 実行時。チューニング前後で FLUSH STATUS を挟むと差分が見やすい。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?