# phpMyAdminでデータベースにアクセスする方法

Source: https://support.kapsulehost.com/ja-jp/sites-phpmyadmin

Every KapsuleHost のデータベース付きウェブサイトには、phpMyAdmin によるブラウザベースのデータベースアクセスが用意されており、シングルサインオンで開くため、別途覚えておくべき二つ目のパスワードはありません。本ガイドでは、phpMyAdmin の開き方、接続情報の確認方法、そこで行う価値のある操作、そして WordPress サイトで phpMyAdmin を使って絶対に行うべきでない二つのデータベース作業について説明します。

## phpMyAdmin を開く

1. [KPanel](https://kpanel.kapsulehost.com) にサインインし、左側のサイドバーで**ウェブサイト**をクリックします。
2. 対象のサイトをクリックします。
3. サイト専用メニュー内の**データベース**を開きます。
4. **phpMyAdmin を開く**をクリックします。

phpMyAdmin は新しいタブで開き、すでにサインイン済みでサイトのデータベースに接続された状態になっています。ログインフォームも、保存すべき別の認証情報もありません。

![KPanel のサイトの Database タブと Open phpMyAdmin ボタン](https://support.kapsulehost.com/help/screenshots/sites-phpmyadmin.84df4ba6.webp)

> **Note:** このサイト種別にはデータベースがプロビジョニングされていないという表示が出た場合、それは想定どおりの動作です。静的 HTML サイトや一部のアプリケーション種別は、データベースなしで作成されます。WordPress や WooCommerce を含む、データベースを使用するサイト種別には必ずデータベースが付属します。

## 接続情報について

同じ画面に、アプリケーションが使用する認証情報が表示されます。それぞれにコピー用ボタンがあり、パスワードは表示切り替え操作の裏に隠されています。

| 項目 | 値 |
|---|---|
| ホスト | `127.0.0.1` |
| ポート | `3306` |
| データベース | お使いのデータベース名 |
| ユーザー名 | お使いのデータベースユーザー |
| パスワード | 表示をクリックするまで非表示 |

これらは `wp-config.php`、`.env` ファイル、または各種フレームワークのデータベース設定に記入すべき値です。

> **Warning:** `127.0.0.1` は「このサーバー自身」を意味します。お使いのノートパソコンからは到達できず、どれだけファイアウォール設定をいじっても変わりません。データベースはそもそも設計上、公開アドレスで待ち受けていないためです。TablePlus や Sequel Ace のようなデスクトップクライアントを接続するには、SSH トンネルを使用してください。[SSH トンネル経由でデータベースに接続する](https://support.kapsulehost.com/ja-jp/database-ssh-tunnel)をご覧ください。

## どのような用途に使うか

phpMyAdmin は、次のような特定の作業において真価を発揮します。

- **データの閲覧。** プラグインが実際に何を保存したかの確認、特定の行が存在するかの確認、レコード数のカウントなど。
- **データベースのインポート。** 移行や復元の際に使用します。
- **データベースのエクスポート。** 追加の安全な控えとして、あるいは開発者に渡すために使用します。
- **単一の壊れた値の修復。** 誤って入力されてしまい wp-admin にログインできなくなった `siteurl` などを修正します。
- **サイズの診断。** テーブルをサイズ順に並べ替えることで、ログテーブルや一時テーブルが肥大化していることをすぐに把握できます。

## データベースのインポート

1. Database タブから phpMyAdmin を開きます。
2. 左パネルでお使いのデータベース名をクリックします。
3. 上部の**Import**をクリックします。
4. `.sql` ファイルを選択し、**Go**をクリックします。

インポートは一致するテーブルを置き換えます。マージは行われません。

> **Important:** 稼働中のデータベースへのインポートは破壊的で、即座に反映されます。一致するテーブル内のすべての行がファイルの内容で置き換えられ、phpMyAdmin 内には取り消し機能がありません。先にサイトの**バックアップ**ページからバックアップを取得してください。[バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup)をご覧ください。

ダンプファイルが大きい場合は、まず `.sql.gz` に圧縮してください。phpMyAdmin はこの形式を受け付け、通常はアップロード上限以内に収まります。それでも大きすぎる場合は、テーブルごとに複数のファイルへ分割するか、サポートチケットを発行していただければ、こちらでサーバー側からインポートいたします。

## データベースのエクスポート

1. 左パネルでお使いのデータベース名をクリックします。
2. **Export**をクリックします。
3. 単純な複製であれば SQL 形式の**Quick**が適しています。特定のテーブルのみが必要な場合や、出力を gzip 圧縮したい場合は**Custom**を選択してください。
4. **Go**をクリックします。

phpMyAdmin によるエクスポートは便利な追加の控えであり、バックアップ戦略そのものではありません。データベースのみを取得し、ファイルは含まれず、保存先はお客様が指定した場所になります。サイトはデータベースとファイルの両方が毎日自動的にバックアップされており、いつでも手動でも取得できます。[バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup)をご覧ください。

## ここで行うべきでない二つのこと

### SQL による検索と置換を実行しない

WordPress はプラグインやテーマの設定を PHP のシリアライズ文字列として保存しており、その中には各値の長さが記録されています。`REPLACE()` クエリはテキストを変更する一方で記録された長さを変更しないため、PHP がそのオプションを読み込めなくなり、静かに空の値に戻ってしまいます。テーマ設定が消え、スライダーが空になり、ライセンスが登録解除されます。

代わりに、サイトの**WordPress**タブにある**検索と置換**カードを使用してください。シリアライズを正しく処理し、先にバックアップも取得します。詳しい説明は[検索と置換の実行](https://support.kapsulehost.com/ja-jp/wordpress-search-replace)をご覧ください。

### wp_users を編集してパスワードをリセットしない

古いガイドでは、phpMyAdmin のドロップダウンから `MD5` 関数を使って `user_pass` を設定するよう案内していることがあります。現在の WordPress は MD5 ハッシュを使用しておらず、これを誤って行うと、パスワードのリセットではなくアカウントのロックアウトになってしまいます。

KPanel には、サイトの**WordPress**タブの**Users**セクションに、これに対応する適切なツールがあります。**Login as**でそのまま直接サインインする、リセットメールを送信する、あるいはリセットリンクをコピーして自分宛てに送る、といった方法が使えます。[WordPress 管理者パスワードの紛失時のリセット](https://support.kapsulehost.com/ja-jp/wordpress-reset-password)をご覧ください。

## KPanel の WordPress データベースツール

日常的な WordPress のデータベース作業には、**WordPress**タブの**データベース**セクションの方が phpMyAdmin よりも安全で高速です。テーブルサイズを一目で確認でき、自動的に先にバックアップを取得したうえでの最適化と修復、古いテーブルを現代的なストレージエンジンへ変換する機能、投稿のリビジョン・自動下書き・期限切れの一時データ・ゴミ箱に入った投稿のワンクリッククリーンアップが利用できます。検索と置換機能は、そのすぐ先のセクション、**クイックアクション**にあります。

生のデータ行を確認したいときは phpMyAdmin を使用してください。何かを変更したいときは Database セクションを使用してください。

## トラブルシューティング

**phpMyAdmin が開かない。** このボタンにはサイトへの書き込み権限が必要です。お使いの KapsuleHost アカウントの権限が読み取り専用の場合は、アカウント所有者にお問い合わせください。書き込み権限があるにもかかわらず失敗する場合は、サイトがまだプロビジョニング中である可能性があります。サイト上部のステータス表示を確認してください。

**Database タブに表示されている情報ではノートパソコンから接続できない。** それは正しい、意図された動作です。データベースは公開されていません。SSH トンネルを使用してください。[SSH トンネル経由でデータベースに接続する](https://support.kapsulehost.com/ja-jp/database-ssh-tunnel)をご覧ください。

**インポートがエラーもなく止まる。** ほとんどの場合、ファイルサイズが原因です。gzip 圧縮するか、分割してください。

**値を変更したらサイトが壊れた。** 直近のバックアップから復元してください。[バックアップからの復元](https://support.kapsulehost.com/ja-jp/restoring-from-backup)をご覧ください。これが、先にバックアップを取得すべき理由です。

**テーブルが異常に肥大化している。** phpMyAdmin でサイズ順に並べ替えて原因を特定し、手作業で行を削除するのではなく、**WordPress**タブの**データベース**セクションから整理してください。
