この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:5
ページ更新者:guest
更新日時:2026-06-11 07:12:00

タイトル: mysqlのバージョン確認方法
SEOタイトル: MySQL バージョン確認方法完全ガイド

この記事の要点
  • クライアント側: mysql --version (mysql クライアントのバージョン)
  • サーバ側: SQL で SELECT VERSION(); または SHOW VARIABLES LIKE "version%"
  • クライアントとサーバは別物: mysql --version は接続クライアント、本当に知りたいのは接続先サーバのバージョン
  • Docker / K8s: docker exec mysql mysql --version でコンテナ内バージョン
  • RDS / Aurora: AWS コンソールの「DB エンジンバージョン」、または SELECT aurora_version();

クライアント側のバージョン確認

OS にインストールされている mysql / mysqldump 等のクライアントのバージョンを見るだけです。接続先のサーバとは別物なので注意。

# Linux / Mac / Windows 共通
mysql --version
# → mysql  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)

mysql -V

# mysqldump 等もそれぞれ
mysqldump --version
mysqladmin --version

# rpm / dpkg で
rpm -qa | grep mysql
dpkg -l | grep mysql

# Homebrew (Mac)
brew list --versions mysql
brew info mysql

サーバ側のバージョン確認 (本命)

実運用で本当に欲しいのは接続先サーバのバージョンです。SQL で確認します。

-- 接続中のサーバのバージョン
SELECT VERSION();
-- → 8.0.35

-- システム変数経由
SHOW VARIABLES LIKE 'version';
SHOW VARIABLES LIKE 'version%';
-- +-------------------------+--------------------------+
-- | Variable_name           | Value                    |
-- +-------------------------+--------------------------+
-- | version                 | 8.0.35                   |
-- | version_comment         | MySQL Community Server   |
-- | version_compile_machine | x86_64                   |
-- | version_compile_os      | Linux                    |
-- | version_compile_zlib    | 1.2.13                   |
-- +-------------------------+--------------------------+

-- @@ 構文 (グローバル変数)
SELECT @@version;
SELECT @@version_comment;
SELECT @@hostname, @@version, @@datadir;

-- ステータス情報全部
STATUS;     -- mysql コンソール上のみ
\s          -- 同上 (短縮)
-- Server version:        8.0.35 MySQL Community Server - GPL
-- Protocol version:      10
-- Connection:            127.0.0.1 via TCP/IP

シェルから直接 SQL を実行して確認

# -e オプションで SQL を渡す (パスワードはプロンプト)
mysql -h db.example.com -u root -p -e "SELECT VERSION();"

# パスワードを引数に (履歴に残るので非推奨)
mysql -h localhost -u root -ppassword -e "SELECT VERSION();"

# ~/.my.cnf に書いておけば -p 不要
cat ~/.my.cnf <<EOF
[client]
user=root
password=secret
host=db.example.com
EOF
chmod 600 ~/.my.cnf

mysql -e "SELECT VERSION();"

# 接続せずクライアントバージョンだけ
mysql --print-defaults

各環境での確認方法

環境確認方法
素のローカル / VMmysql -u root -p -e "SELECT VERSION();"
Docker コンテナdocker exec mysql_container mysql --version
docker-composedocker-compose exec mysql mysql --version
Kubernetes Podkubectl exec -it mysql-0 -- mysql --version
AWS RDSコンソール → RDS → DB エンジンバージョン
AWS AuroraSELECT AURORA_VERSION(); (Aurora MySQL のみ)
GCP Cloud SQLコンソール → インスタンスの詳細 → データベースバージョン
Azure Database for MySQLAzure Portal → 概要 → サーバーバージョン
phpMyAdminホーム画面右上 → 「データベースサーバー: 8.0.35」
MySQL WorkbenchServer → Server Status

Docker で詳細確認

# イメージのタグから (起動時に指定したバージョン)
docker ps --format &quot;table {{.Names}}\t{{.Image}}&quot;
# mysql_container   mysql:8.0.35

# 動いているプロセスのバージョン
docker exec -it mysql_container mysql -u root -p -e &quot;SELECT VERSION();&quot;

# Compose の image スタックを全部
docker-compose images

# 全タグ一覧 (Docker Hub)
curl -s https://hub.docker.com/v2/repositories/library/mysql/tags/ | jq '.results[].name'

AWS RDS / Aurora

# AWS CLI で
aws rds describe-db-instances \
  --db-instance-identifier mydb \
  --query 'DBInstances[0].EngineVersion'
# &quot;8.0.35&quot;

# Aurora は別途バージョンあり (Aurora MySQL 3.x = MySQL 8.0 互換)
mysql -h aurora-cluster.example.com -u admin -p -e &quot;SELECT AURORA_VERSION();&quot;
# 3.04.1

# 同時に MySQL バージョンも
mysql -e &quot;SELECT VERSION(), AURORA_VERSION();&quot;

MariaDB との見分け方

MariaDB は MySQL からフォークしたため、mysql コマンドで接続できますが別物です:

SELECT VERSION();
-- MariaDB: 10.11.5-MariaDB
-- MySQL:   8.0.35

SHOW VARIABLES LIKE '%version%';
-- MariaDB は version_comment が 'MariaDB Server' になる

-- 確実な判別 (情報スキーマ)
SELECT @@version_comment, @@version;
-- MariaDB Server | 10.11.5-MariaDB

-- MariaDB 特有の関数で判別
SELECT @@version LIKE '%MariaDB%' AS is_mariadb;

複数 MySQL の同居 (Mac Homebrew)

開発環境で MySQL 5.7 と 8.0 を両方使いたい場合などのチェック:

# Homebrew でインストール済バージョン
brew list --versions | grep mysql
# mysql 8.0.35
# mysql@5.7 5.7.43

# 接続先別にバージョン
mysql -P 3306 -u root -p -e &quot;SELECT VERSION();&quot;   # 8.0
mysql -P 3307 -u root -p -e &quot;SELECT VERSION();&quot;   # 5.7

# どちらの mysql バイナリが PATH か
which -a mysql
ls -la /usr/local/opt/mysql/bin/mysql
ls -la /usr/local/opt/mysql@5.7/bin/mysql

サポート状況の確認

バージョン状態サポート終了
MySQL 5.6EOL2021-02
MySQL 5.7EOL2023-10
MySQL 8.0LTS2026-04 (延長サポート)
MySQL 8.4LTS2032-04
MariaDB 10.5EOL2025-06
MariaDB 10.11LTS2028-02
MariaDB 11.4LTS2029-05

FAQ

Q: mysql --versionSELECT VERSION() が違う値を返す
A: 正常です。前者はローカルのクライアントツール、後者は接続中のサーバ。本番調査では必ず SELECT VERSION() を使ってください。

Q: アプリから取りたい
A: 接続後に SELECT VERSION() を発行するだけ。PHP なら $pdo->getAttribute(PDO::ATTR_SERVER_VERSION) でも可。

Q: MySQL 5.7 のまま運用していて大丈夫?
A: 既に EOL なのでセキュリティリスク。8.0 への移行を強く推奨。Aurora 等の互換レイヤを使うのも一手。