WordPressのデータベースを直接修正する

日記

WordPressの設定の多くやコンテンツはデータベースに保存されている。WordPressの保守/運用では、以下のような作業が稀によくある。

  • データベースの内容を直接確認/編集する
  • データベースをファイルの形でエクスポート(ダンプ)する
  • ファイルからデータベースをインポート(リストア)する

これらの際には一般的にデータベースの管理ツールを利用することになる。

phpMyAdmin

ほとんどのレンタルサーバーでは「phpMyAdmin」というデータベース管理ツールを用意してくれており、サーバー管理画面からアクセスできることが多い。

phpMyAdmin - Wikipedia

ロリポップの例

以下はロリポップの例だが、他のレンタルサーバーでも似たような手順であることが多い。

「ロリポップ!ユーザー専用ページ」にログイン、[サーバーの管理・設定]から[データベース]。

データベース一覧が出るので、修正したいデータベースの中から[操作する]。

[サーバーベースホスト][ユーザー名]をコピペでメモしておく。また[パスワード確認]でパスワードをメモしておく。その後[phpMyAdminを開く]。

phpMyAdminのログイン画面が出るので、先ほどメモした[ユーザー名]と[パスワード]を入力、[サーバの選択]から先ほどの[サーバーベースホスト]を選びログインする。

データベース情報がわからなくなった場合

データベースが複数あり、どれがWordPressのデータベースなのかわからなくなった時など、データベース情報を確認したい場合は、WordPressの設定ファイルの内容を調査する。

FTPクライアントで/(WordPressインストールディレクトリ)/wp-config.phpをダウンロードし、「メモ帳」などのテキストエディタで開いてみると、内容を確認できる。

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', '(データベース名)' );

/** Database username */
define( 'DB_USER', '(ユーザー名)' );

/** Database password */
define( 'DB_PASSWORD', '(パスワード)' );

/** Database hostname */
define( 'DB_HOST', '(サーバー名)' );

Adminer

レンタルサーバーにphpMyAdminがない場合は、「Adminer」というツールをインストールするという手もある。

Adminer - Database management in a single PHP file
Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it ...

Adminerのダウンロードとインストール

上記公式サイトから[Download]→最新のAdminerをダウンロード(2025年2月現在 adminer-4.8.1 )し、FTPクライアントでダウンロードしたphpをアップロードするだけ。

Adminerでデータベースにログインでする

ブラウザで https://example.com/adminer-4.8.1.php のようにアクセスするとAdminerのログイン画面が出る。

データベース情報を入力して[ログイン]。

Adminerが文字化けしていたら

公式サイトから[English only]をダウンロードしてそれを利用する。

Adminerを使い終わったら削除しておく

Adminerをそのまま置いておくと、誰からもアクセス可能な状態になるので、用が済んだら削除しておく(もしくはアクセス制限などをかけておく)。

WordPressのテーブル名について

通常、特にカスタマイズせずにWordPressをインストールした場合、データベースの各テーブルの名称は "wp_" で始まっている。例えば、WordPressの基本設定は "wp_option" 、ユーザーの基本情報は "wp_users" というテーブルに、それぞれ記載されている。この "wp_" の部分を「テーブル接頭辞」と言う。

WordPressによっては、このテーブル接頭辞が "wp_" ではなく、別の文字列になっていることがあるが、本ブログでは、特に断りがない場合、テーブル接頭辞が "wp_" であるものとして記述するので、適宜読み替えていただきたい。

ちなみに、「セキュリティのためにテーブル接頭辞はwp_ではない別の文字にしましょう」的な記事をしばしば見かけるが、個人的にはそこまでしなくて良い(もっと重要なことが他にある)と思う。

コメント

タイトルとURLをコピーしました