MENU

【初心者向け】MySQLのバージョン確認方法4選|コマンド実例付きで解説

MySQLを使用する際、バージョンを確認する必要がある場面は意外と多いものです。

  • 新しい機能が使えるか知りたい
  • トラブルシューティングで情報が必要
  • アップデートの必要性を判断したい
  • 開発環境と本番環境のバージョンを揃えたい

この記事では、MySQLのバージョンを確認する4つの方法を、初心者の方にもわかりやすく解説します。どの方法も簡単にできるので、状況に応じて使い分けてください。

目次

MySQLのバージョン確認が必要な理由

MySQLは継続的にアップデートされており、バージョンによって使える機能が異なります。

主な理由:

  • 機能の利用可否: JSON型(MySQL 5.7.8以降)、ウィンドウ関数(MySQL 8.0以降)など
  • セキュリティ: 古いバージョンには脆弱性がある可能性
  • 互換性: アプリケーションとの互換性確認
  • サポート: 公式サポートの対象バージョンか確認

バージョンを把握しておくことで、適切な開発・運用判断ができるようになります。

方法1: SQLクエリで確認する(最も簡単)

MySQLに接続している状態であれば、SQLクエリでバージョンを確認するのが最も簡単です。

SELECT VERSION()

SELECT VERSION();

実行結果の例:

+-------------------------+
| VERSION()               |
+-------------------------+
| 8.0.35                  |
+-------------------------+

この方法は最もシンプルで、初心者の方にもおすすめです。

メリット:

  • 覚えやすい
  • すぐに結果が表示される
  • MySQLクライアントがあれば使える

デメリット:

  • MySQLに接続している必要がある

SELECT @@version

もう一つの方法として、システム変数を参照する方法もあります。

SELECT @@version;

実行結果の例:

+-------------------------+
| @@version               |
+-------------------------+
| 8.0.35                  |
+-------------------------+

VERSION()関数と同じ結果が得られます。どちらを使っても問題ありません。

SHOW VARIABLES(詳細情報も確認)

より詳細な情報を確認したい場合は、SHOW VARIABLESコマンドを使用します。

SHOW VARIABLES LIKE 'version%';

実行結果の例:

+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| version                 | 8.0.35                       |
| version_comment         | MySQL Community Server - GPL |
| version_compile_machine | x86_64                       |
| version_compile_os      | Linux                        |
+-------------------------+------------------------------+

確認できる情報:

  • version: バージョン番号
  • version_comment: MySQLのエディション(Community、Enterpriseなど)
  • version_compile_machine: コンパイルされたアーキテクチャ
  • version_compile_os: コンパイルされたOS

コンパイル情報まで知りたい場合に便利です。

方法2: コマンドラインで確認する

ターミナル(Windowsの場合はコマンドプロンプトやPowerShell)から、MySQLに接続せずにバージョンを確認できます。

mysql –version

mysql --version

実行結果の例:

mysql  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)

短縮形: mysql -V

mysql -V

大文字の「V」を使うことで、同じ結果が得られます。

メリット:

  • MySQLに接続する必要がない
  • 素早く確認できる
  • スクリプトに組み込みやすい

デメリット:

  • mysqlコマンドにパスが通っている必要がある
  • クライアントのバージョンが表示される(サーバーとは異なる場合がある)

mysqld –version(サーバー版)

MySQLサーバー自体のバージョンを確認したい場合は、以下のコマンドを使用します。

mysqld --version

実行結果の例:

mysqld  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)

サーバープロセスのバージョンを直接確認できます。

方法3: ログイン時に確認する

MySQLにログインする際、ウェルカムメッセージにバージョン情報が表示されます。

mysql -u root -p

表示例:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.35 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

「Server version:」の行にバージョン情報が表示されます。

メリット:

  • ログインするたびに自動的に表示される
  • 特別なコマンドを覚える必要がない

デメリット:

  • メッセージが流れてしまうと見えなくなる

方法4: STATUSコマンドで確認する

MySQLに接続した状態で、サーバーの詳細情報を確認する方法です。

STATUS;

または短縮形

\s

実行結果の例:

--------------
mysql  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:          8
Current database:       testdb
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.35 MySQL Community Server - GPL
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /var/run/mysqld/mysqld.sock
Binary data as:         Hexadecimal
Uptime:                 2 hours 34 min 12 sec

Threads: 2  Questions: 45  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 95  Queries per second avg: 0.004
--------------

確認できる情報:

  • サーバーバージョン
  • 接続方法(TCP/IP、UNIXソケット)
  • 文字コード設定
  • サーバーの稼働時間(Uptime)
  • 現在のデータベース
  • 接続ユーザー

バージョンだけでなく、サーバーの状態も一緒に確認したい場合に便利です。

状況別:どの方法を使うべきか

確認方法がたくさんあって迷うかもしれません。状況別におすすめの方法をまとめました。

状況おすすめの方法コマンド
MySQLに接続中SQLクエリSELECT VERSION();
MySQLに接続していないコマンドラインmysql --version
詳細情報も確認したいSHOW VARIABLESSHOW VARIABLES LIKE 'version%';
サーバーの状態も確認STATUSSTATUS; または \s
スクリプトで使用コマンドラインmysql -V

初心者の方へのおすすめ:

MySQLに接続してSELECT VERSION();を実行する方法が最もわかりやすく、確実です。

MySQLバージョン番号の見方

MySQLのバージョン番号は、通常「8.0.35」のような形式で表示されます。それぞれの数字の意味を理解しておきましょう。

バージョン番号の構成

8.0.35
│ │ └─ リリースバージョン(パッチバージョン)
│ └─── マイナーバージョン
└───── メジャーバージョン

メジャーバージョン(8)

  • 大きな機能追加や仕様変更
  • アップグレード時に互換性の問題が起きる可能性がある
  • 例: MySQL 5.x → MySQL 8.x

マイナーバージョン(0)

  • 新機能の追加や改善
  • 基本的に後方互換性あり
  • 例: MySQL 8.0.x → MySQL 8.1.x

リリースバージョン(35)

  • バグ修正やセキュリティパッチ
  • 安全にアップグレード可能
  • 例: MySQL 8.0.35 → MySQL 8.0.36

主要なバージョンと特徴

MySQL 5.7系

  • JSON型のサポート開始(5.7.8以降)
  • Generated Columnのサポート
  • 2023年10月にサポート終了

MySQL 8.0系(現在の主流)

  • ウィンドウ関数のサポート
  • CTE(共通テーブル式)のサポート
  • デフォルトの文字コードがutf8mb4
  • パフォーマンスの大幅な向上

MySQL 8.4系(LTS)

  • 2024年にリリースされた長期サポート版
  • より安定した運用が可能

バージョンを確認すべきタイミング

以下のような場面では、必ずバージョンを確認しましょう。

  1. 新しい機能を使う前
    • JSON型を使いたい → MySQL 5.7.8以降が必要
    • ウィンドウ関数を使いたい → MySQL 8.0以降が必要
  2. エラーが発生したとき
    • サポートフォーラムで質問する際、バージョン情報が必要
  3. 環境を構築するとき
    • 開発環境と本番環境でバージョンを揃える
  4. セキュリティアップデート時
    • 脆弱性情報を確認する際にバージョンが必要

よくあるトラブルと対処法

バージョン確認時によくある問題と解決方法を紹介します。

トラブル1: 「mysql: command not found」エラー

症状:

$ mysql --version
-bash: mysql: command not found

原因:

  • MySQLがインストールされていない
  • パスが通っていない

対処法:

  1. MySQLがインストールされているか確認
# Linuxの場合
which mysql
dpkg -l | grep mysql  # Debian/Ubuntu
rpm -qa | grep mysql  # RedHat/CentOS

# macOSの場合
brew list | grep mysql

  1. パスを通す(インストール済みの場合)
# 一時的にパスを通す
export PATH=$PATH:/usr/local/mysql/bin

# 恒久的にパスを通す(.bashrcや.zshrcに追記)
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc

トラブル2: 接続エラーが発生する

症状:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

原因:

  • MySQLサーバーが起動していない

対処法:

  1. サーバーの状態を確認
# Linuxの場合
sudo systemctl status mysql

# macOSの場合
brew services list

  1. サーバーを起動
# Linuxの場合
sudo systemctl start mysql

# macOSの場合
brew services start mysql

トラブル3: クライアントとサーバーのバージョンが異なる

症状: mysql --versionSELECT VERSION();の結果が異なる

説明:

  • mysql --version: クライアントツールのバージョン
  • SELECT VERSION();: サーバーのバージョン

これは正常な状態です。通常、サーバーのバージョンが重要なので、SELECT VERSION();の結果を参照してください。

トラブル4: 権限エラーで確認できない

症状:

ERROR 1045 (28000): Access denied for user 'user'@'localhost'

対処法:

  1. 正しいユーザー名とパスワードで接続
mysql -u root -p

  1. または、コマンドラインから確認(接続不要)
mysql --version

バージョンアップを検討すべきケース

以下のような場合は、MySQLのバージョンアップを検討しましょう。

1. サポートが終了している

MySQL 5.7は2023年10月にサポート終了しました。セキュリティリスクがあるため、MySQL 8.0以降へのアップグレードを強く推奨します。

2. セキュリティ脆弱性が発見されている

古いバージョンには既知の脆弱性があります。定期的にセキュリティ情報を確認し、必要に応じてアップデートしましょう。

3. 新機能を使いたい

以下のような新機能を使いたい場合は、バージョンアップが必要です。

  • ウィンドウ関数(MySQL 8.0以降)
  • CTE – Common Table Expressions(MySQL 8.0以降)
  • JSON関数の拡張(MySQL 8.0以降)
  • より高速なレプリケーション(MySQL 8.0以降)

4. パフォーマンスを改善したい

MySQL 8.0では、以下のような大幅なパフォーマンス改善が行われています。

  • クエリの実行速度が向上
  • インデックスの効率化
  • メモリ使用量の最適化

バージョンアップ前の注意点

ただし、バージョンアップには注意が必要です。

必ず行うべきこと:

  • データベースの完全バックアップ
  • 互換性の確認(特にメジャーバージョンアップ時)
  • テスト環境での動作確認
  • アプリケーションコードの互換性チェック

推奨される手順:

  1. 現在のバージョンを確認
  2. 移行先バージョンのリリースノートを確認
  3. テスト環境でアップグレード
  4. アプリケーションの動作確認
  5. 問題なければ本番環境へ適用

まとめ

MySQLのバージョン確認方法について解説しました。

4つの確認方法:

  1. SQLクエリ: SELECT VERSION();(最も簡単)
  2. コマンドライン: mysql --version(接続不要)
  3. ログイン時: ウェルカムメッセージで確認
  4. STATUSコマンド: STATUS;(詳細情報も表示)

推奨される方法:

初心者の方には、MySQLに接続してSELECT VERSION();を実行する方法がおすすめです。シンプルで確実に確認できます。

重要なポイント:

  • バージョンによって使える機能が異なる
  • セキュリティのため、サポート終了したバージョンは使わない
  • 定期的にバージョンを確認し、必要に応じてアップデート

MySQLのバージョンを正しく把握することで、適切な開発・運用判断ができるようになります。この記事を参考に、ぜひご自身の環境のバージョンを確認してみてください。

よくある質問(FAQ)

Q1: クライアントとサーバーのバージョンが違うのは問題ですか?

A: 基本的には問題ありません。ただし、大きく異なる場合(例: クライアントがMySQL 5.x、サーバーがMySQL 8.x)は、一部の機能が使えない可能性があります。できるだけバージョンを揃えることを推奨します。

Q2: MySQLとMariaDBのバージョン確認方法は同じですか?

A: はい、同じコマンドで確認できます。ただし、MariaDBの場合は「MariaDB」という表記が含まれます(例: 10.6.12-MariaDB)。

Q3: バージョン8.0.35と8.0.36の違いは大きいですか?

A: リリースバージョン(パッチバージョン)の違いなので、主にバグ修正やセキュリティパッチが中心です。基本的に互換性があり、安全にアップグレードできます。

Q4: どのバージョンを使うべきですか?

A: 2024年現在、MySQL 8.0系の最新版を使用することを推奨します。MySQL 8.4はLTS(長期サポート版)なので、安定した運用を重視する場合はこちらも選択肢です。

Q5: バージョン確認コマンドが動かない場合は?

A: まず、MySQLが正しくインストールされているか、サーバーが起動しているかを確認してください。それでも解決しない場合は、パスの設定やインストール方法を見直す必要があります。

Q6: Docker環境でのバージョン確認方法は?

A: Dockerコンテナ内で確認する場合は、以下のコマンドを使用します。

docker exec -it <コンテナ名> mysql --version

または、コンテナ内に入ってから確認します。

docker exec -it <コンテナ名> bash
mysql --version

プログラミングの独学におすすめ
プログラミング言語の人気オンラインコース
独学でプログラミングを学習している方で、エラーなどが発生して効率よく勉強ができないと悩む方は多いはず。Udemyは、プロの講師が動画で実際のプログラムを動かしながら教えてくれるオンライン講座です。講座の価格は、セール期間中には専門書籍を1冊買うよりも安く済むことが多いです。新しく学びたいプログラミング言語がある方は、ぜひUdemyでオンライン講座を探してみてください。
目次