Ubuntuでデータベースを管理するなら、phpMyAdminが便利です。しかし、apt で直接インストールすると、rootユーザーのデフォルト認証方式(unix_socket)が原因で、ブラウザからパスワードでログインできないという罠にはまることがあります。私も最初、rootでログインしようとして何度も「アクセス拒否(#1045)」のエラーに悩まされました。
ここでは、ホスト環境を汚さず、Dockerを利用した安全で簡単なphpMyAdminの構築手順を、Ubuntu 24.04 LTS上で実行した実測データに基づいて解説します。これを使えば、数分でGUIから管理できるようになります。
この記事のポイント
- Dockerを使えば、依存関係やバージョンのトラブルを避けられる
- MariaDBのrootユーザーはデフォルトでパスワードログイン不可(初学者がつまずくポイント)
- 専用の管理ユーザーを作成すれば、すぐに安全にWeb管理画面へ接続できる
前提環境
本記事は以下の環境で検証しました。
- OS: Ubuntu 24.04 LTS (Noble Numbat)
- 実行環境: Docker (公式
ubuntu:24.04イメージ /mariadb:10.11イメージ) - 検証日: 2026年6月15日
注意
本記事では、ホストOSの環境を汚さないよう、すべての検証をDockerコンテナ上で実行しています。実際にVPSなどで運用する際も、Dockerを使うのがおすすめです(後で片付けがラクですし、セキュリティも保ちやすいからです)。
手順1:phpMyAdmin関連パッケージの最新情報を確認する
まず、Ubuntu 24.04の公式リポジトリに用意されているパッケージのバージョンを確認します。apt-cache policy コマンドを使うと、インストール可能な最新バージョンが分かります。
phpmyadmin:
Installed: (none)
Candidate: 4:5.2.1+dfsg-3
mariadb-server:
Installed: (none)
Candidate: 1:10.11.14-0ubuntu0.24.04.1
実測ログの通り、phpMyAdminは 5.2.1、MariaDBは 10.11.14 が最新であることが分かります。

手順2:DockerでMariaDBとphpMyAdminを起動する
ここでは、公式のDockerイメージを使用して、データベースと管理画面を一度に立ち上げます。次のコマンドを順番に実行します。
まず、データベースとなるMariaDBコンテナを起動します。ここで、専用の管理ユーザー(pma_admin)も一緒に作ってしまいます。
-e MARIADB_ROOT_PASSWORD=RootPass123! \
-e MARIADB_USER=pma_admin \
-e MARIADB_PASSWORD=SecurePass123! \
-e MARIADB_DATABASE=testdb \
mariadb:10.11
次に、先ほどのデータベースにリンクさせる形で、phpMyAdminコンテナを起動します。
–link linuxlab_db:db \
-p 8080:80 \
-e PMA_HOST=db \
phpmyadmin:latest
これで、サーバーの 8080 番ポートでphpMyAdminにアクセスできるようになりました。状態は次のコマンドで確認します。

手順3:ブラウザからphpMyAdminにアクセスする
ブラウザを開き、 http://サーバーのIPアドレス:8080 (ローカル環境なら http://localhost:8080)にアクセスします。
次のようなログイン画面が表示されます。ここで気をつけるべきは、rootユーザーではログインできない点です。

【重要】rootユーザーでログインできない理由
UbuntuのMariaDBパッケージは、セキュリティ強化のため、rootユーザーのデフォルト認証プラグインを unix_socket に設定しています。これは、OSのrootユーザーとして端末にログインしている場合のみデータベースへの接続を許可する仕組みです。そのため、Webブラウザからのパスワード入力によるrootログインは、設定を変更しない限り「アクセスが拒否されました (#1045)」というエラーが出ます。
この問題を回避するには、手順2で行ったように、Web管理専用のユーザーを別途作成するのが一番確実です。作成した pma_admin と、設定したパスワード(本例では SecurePass123!)を入力して「実行」ボタンを押してください。
認証に成功すると、次のような管理ダッシュボードが表示されます。左側のサイドバーには、作成した testdb やシステムデータベースが一覧で表示されています。

手順4:GUIでデータベースを操作してみる
画面上部の「SQL」タブをクリックすると、直接クエリを入力して実行できる画面が開きます。ここでは簡単なテーブル作成とデータ挿入を実行してみます。

「実行」ボタンを押すと、下部に「クエリは正常に実行されました」という緑色のメッセージが表示され、GUI上でデータベースを構築できます。コマンドラインの mariadb クライアントで手間がかかる操作も、phpMyAdminならマウスだけで終わります。
よくあるエラーと解決策
エラー:#1045 – Access denied for user ‘root’@’localhost’
これはrootユーザーの認証方式が原因です。解決策は2つあります。
- (推奨)本記事のように、
mariadbユーザーとして専用アカウントを作成する。 - rootの認証方式を
mysql_native_passwordに変更する(セキュリティレベルが下がるため本番環境では非推奨)。
エラー:phpMyAdminの画面が表示されない(接続拒否)
Dockerコンテナが正常に起動していないのかもしれません。docker ps コマンドで linuxlab_pma と linuxlab_db のステータスが Up になっているか確認してください。もし Exited になっている場合は、docker logs linuxlab_db でエラーログを確認しましょう。
まとめ
UbuntuでphpMyAdminを構築する時、apt からの直接インストールは依存関係や認証方式の罠が多く、初学者がつまずきやすいポイントです。一方で、Dockerの公式イメージを利用すれば、コマンド数行で隔離された安全な環境をすぐに構築できます。
今回の実測でも確認したように、専用の管理ユーザーを作成する一手間を加えるだけで、ブラウザからデータベースを管理できるようになります。この手順を試して、VPS環境でのデータベース運用を効率よく進めてみてください。
本格的にLinuxサーバーを運用し、複数のサービスを動かすなら、安定性と性能に優れたVPSの選択が重要です。
さらに詳しいサーバーの初期構築手順やセキュリティ設定については、以下の記事も合わせてご覧ください。


コメント