データベースを使うWebアプリやWordPressを自分のサーバーで動かすとき、最初に必要になるのが MySQL です。Ubuntu 24.04 LTS では apt install mysql-server の1コマンドで MySQL 8.0 系がインストールできますが、インストール後の「サービス起動」「セキュリティ設定」「接続確認」を正しくやらないと本番では使えません。
この記事では、Dockerコンテナ(ubuntu:24.04)で実際にコマンドを実行して取得したデータをもとに、Ubuntu 24.04 LTS への MySQL インストール手順を実測ログとともに解説します。インストールされるバージョン(8.0.46)・デフォルトの設定ファイル構造・サービス起動の確認方法まで、コマンドのアウトプットそのままを掲載しています。
この記事のポイント
- Ubuntu 24.04 LTS に
apt install mysql-serverでインストールされるのは MySQL 8.0.46(2026年6月実測) - インストール後は
sudo service mysql startでサービスを起動し、mysql -u rootで接続確認できる - デフォルトは
bind-address = 127.0.0.1(外部接続不可)。VPSで外部から繋ぐには設定変更が必要 mysql_secure_installationでrootパスワード設定と匿名ユーザー削除を行うことを推奨- Ubuntu 22.04 LTS でも同じ MySQL 8.0.46 系(0ubuntu0.22.04.2)が提供されている
前提環境
この記事の手順は以下の環境で動作を確認しています。
- OS:Ubuntu 24.04 LTS(Noble Numbat)
- 検証方法:Docker公式イメージ
ubuntu:24.04でコマンドの実出力を取得 - MySQLバージョン:8.0.46-0ubuntu0.24.04.2(2026年6月13日 実測)
- 権限:
sudo権限のあるユーザー(または root)
注意
本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 でも同じ手順で MySQL 8.0 が入りますが、パッケージのビルド番号が異なります(後述のバージョン比較表を参照)。
手順1:パッケージリストを更新する
MySQLをインストールする前に、まず apt update でパッケージリストを最新化します。これをやらないと古いバージョンが候補になってしまうことがあるので、毎回実行する癖をつけましょう。
Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
…
Fetched 39.6 MB in 5s (8338 kB/s)
Reading package lists… Done
「Fetched〜 Done」が表示されれば成功です。エラーが出る場合はネットワーク接続を確認してください。
手順2:インストール前にバージョンを確認する(任意)
インストール前に apt-cache policy でリポジトリの候補バージョンを確認できます。どのバージョンが入るか事前に把握しておくと、本番環境への適用前に役立ちます。
mysql-server:
Installed: (none)
Candidate: 8.0.46-0ubuntu0.24.04.2
Version table:
8.0.46-0ubuntu0.24.04.2 500
500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
8.0.36-2ubuntu3 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
Ubuntu 24.04 では noble-updates リポジトリから MySQL 8.0.46 が提供されています(2026年6月時点)。8.0.36-2ubuntu3 がリリース当初のバージョンで、セキュリティアップデートにより 8.0.46 が最新候補になっています。
手順3:MySQLをインストールする
インストールは apt install mysql-server の1コマンドです。-y オプションで確認プロンプトをスキップできます。
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
mysql-client-8.0 mysql-client-core-8.0 mysql-common
mysql-server-8.0 mysql-server-core-8.0 …
Get:5 … mysql-client-core-8.0 arm64 8.0.46-0ubuntu0.24.04.2 [2807 kB]
Get:21 … mysql-server-core-8.0 arm64 8.0.46-0ubuntu0.24.04.2 [17.4 MB]
Get:28 … mysql-server-8.0 arm64 8.0.46-0ubuntu0.24.04.2 [1244 kB]
Unpacking mysql-server-8.0 (8.0.46-0ubuntu0.24.04.2) …
Setting up mysql-server-8.0 (8.0.46-0ubuntu0.24.04.2) …
Setting up mysql-server (8.0.46-0ubuntu0.24.04.2) …
mysql-server はメタパッケージで、実体は mysql-server-8.0 です。依存関係として mysql-client-8.0 / mysql-common / mysql-server-core-8.0 なども自動でインストールされます。ダウンロードサイズは合計で約40MB前後です。

インストール後、mysql --version で確認してみましょう。
mysql Ver 8.0.46-0ubuntu0.24.04.2 for Linux on aarch64 ((Ubuntu))
「mysql Ver 8.0.46…」が表示されれば、インストール成功です。

手順4:MySQLサービスを起動・確認する
Ubuntu 24.04 では、インストール直後から MySQL サービスが自動起動する場合があります。念のため状態を確認し、起動していなければ手動で起動します。
* Starting MySQL database server mysqld
…done.
$ sudo service mysql status
* /usr/bin/mysqladmin Ver 8.0.46-0ubuntu0.24.04.2 for Linux on aarch64 ((Ubuntu))
Server version 8.0.46-0ubuntu0.24.04.2
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 sec
Threads: 2 Questions: 8 Slow queries: 0 Opens: 119
「Server version 8.0.46…」と「UNIX socket /var/run/mysqld/mysqld.sock」が表示されれば、MySQLが正常に動作しています。
VPSでの自動起動設定
VPS上では OS 再起動後も MySQL を自動起動させるために、sudo systemctl enable mysql を実行してください。Docker コンテナ環境では systemd が使えないため service コマンドを使いましたが、実機VPSでは systemctl が使えます。

手順5:rootユーザーで接続する
Ubuntu 24.04 の MySQL では、デフォルトで root ユーザーが auth_socket プラグインで認証されます。これは、Linuxのrootユーザー(または sudo)であれば、パスワードなしで MySQL に入れる仕組みです。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.46-0ubuntu0.24.04.2 Ubuntu
mysql> SELECT user, host, plugin FROM mysql.user WHERE user=’root’;
+——+———–+————-+
| user | host | plugin |
+——+———–+————-+
| root | localhost | auth_socket |
+——+———–+————-+
mysql> exit
Bye
正直、この auth_socket 方式は最初戸惑いやすいポイントです。パスワードを求められないので「本当に入れてるの?」と不安になりますが、Linuxレベルで root ユーザーを確認して認証しているので、セキュリティ的には問題ありません。
手順6:セキュリティ設定(mysql_secure_installation)
本番環境や VPS で使う場合は、mysql_secure_installation でセキュリティを強化してください。rootパスワードの設定・匿名ユーザーの削除・テストデータベースの削除などをまとめて行えます。
Securing the MySQL server deployment.
VALIDATE PASSWORD COMPONENT can be used to test passwords
Would you like to setup VALIDATE PASSWORD component? [Y/n]: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
…
All done!
各質問に対する推奨の答えは次のとおりです:
- VALIDATE PASSWORD COMPONENT:
Y(パスワード強度チェックを有効化) - New password:任意の強いパスワードを入力
- Remove anonymous users:
Y(匿名ユーザーを削除) - Disallow root login remotely:
Y(root の遠隔ログインを禁止) - Remove test database:
Y(テスト用DBを削除) - Reload privilege tables:
Y(設定を即時反映)
インストール結果の確認:バージョンと設定ファイル
インストール後の状態を確認してみましょう。設定ファイルは /etc/mysql/ 配下に配置されます。
conf.d debian-start debian.cnf my.cnf my.cnf.fallback mysql.cnf mysql.conf.d
$ cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind-address
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
$ dpkg -l mysql-server | tail -1
ii mysql-server 8.0.46-0ubuntu0.24.04.2 all MySQL database server (metapackage)
重要なのは bind-address = 127.0.0.1 という設定です。これはデフォルトで MySQLへの接続をローカルホスト(127.0.0.1)のみに制限していることを意味します。外部からの接続が遮断されているので、VPSに公開するアプリから同じサーバー内のMySQLに繋ぐ分には問題ありません。
Ubuntu 22.04 と 24.04 のバージョン比較
すでに Ubuntu 22.04 を使っている場合も、同じ手順で MySQL をインストールできます。2026年6月時点では、どちらも MySQL 8.0.46 系が提供されていますが、パッケージのビルド番号が異なります。

Ubuntu 22.04 の Candidate: 8.0.46-0ubuntu0.22.04.2 と、Ubuntu 24.04 の Candidate: 8.0.46-0ubuntu0.24.04.2 という出力が確認できました(docker run で実測)。主要バージョン(8.0.46)は同じですが、OS ごとにパッチが適用されています。
よくあるエラーと解決策
①エラー:「Can’t connect to local MySQL server through socket」
MySQL は起動しているのに接続できない場合の典型的なエラーです。
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
‘/var/run/mysqld/mysqld.sock’ (2)
$ sudo service mysql start
…done.
$ sudo mysql
Welcome to the MySQL monitor.
原因はほぼMySQLサービスが停止しているためです。sudo service mysql start で起動してから再試行してください。
②エラー:「ERROR 1698 (28000): Access denied for user ‘root’@’localhost’」
Ubuntu 24.04 のデフォルトでは、sudo なしの mysql -u root は拒否されます。
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
$ sudo mysql
Welcome to the MySQL monitor.
デフォルトの auth_socket 認証では sudo mysql で接続します。アプリケーションから接続するには、専用ユーザーを作成してください(後述)。
③「E: Package ‘mysql-server’ has no installation candidate」
これは apt update を実行していないときに起こります。インストール前に必ず sudo apt update を実行してください。
アプリケーション用ユーザーの作成(本番向け)
Webアプリや WordPress をMySQLと接続する場合、root ユーザーを使うのは避けてください。専用ユーザーを作成し、必要なデータベースのみに権限を付与します。
mysql> CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER ‘myapp_user’@’localhost’ IDENTIFIED BY ‘StrongPass123!’;
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON myapp_db.* TO ‘myapp_user’@’localhost’;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
データベース名・ユーザー名・パスワードはアプリに合わせて変更してください。utf8mb4 は日本語を含む文字を安全に扱えるエンコーディングです。WordPress などは作成時にこれを指定しないと文字化けすることがあります。
まとめ
Ubuntu 24.04 LTS への MySQL インストール手順を、実際の実行ログとともに解説しました。
sudo apt update && sudo apt install -y mysql-serverで MySQL 8.0.46 をインストールできる(2026年6月実測)sudo service mysql startでサービスを起動し、sudo service mysql statusで起動確認sudo mysqlでルートログイン(auth_socket 認証)、mysql_secure_installationでセキュリティ強化- デフォルトの
bind-address = 127.0.0.1でローカルのみ接続可能。外部公開は設定変更が必要 - アプリ用には専用ユーザーとデータベースを作成し、最小権限で運用する
- Ubuntu 22.04 でも同バージョン(8.0.46系)が提供されており、同じ手順で導入できる
自分のVPSでMySQLを動かせるようになったら、次は WordPress や Django などのWebアプリと組み合わせてみましょう。MySQL の管理を本格的にやるなら、VPS選びも重要になります。



コメント