【SQL実践|実務向け】phpMyAdminの「環境保管領域」を正しく設定し、開発効率を最大化する

導入: なぜ環境保管領域の設定が必要なのか

phpMyAdminをインストールして最初にアクセスした際、画面下部に「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。」という警告が表示されたことはありませんか?
この警告を無視して運用を続ける方も多いですが、これは「ブックマーク機能」「リレーション表示」「テーブルのトラッキング」「クエリの履歴管理」といった、開発効率を劇的に向上させる便利な機能が制限されている状態を意味します。DBAとして、開発環境の利便性を担保するためには、この警告を解消し、環境保管領域を正しく設定しておくことが推奨されます。

基礎知識: 環境保管領域とは何か

phpMyAdminの環境保管領域(phpMyAdmin Configuration Storage)とは、phpMyAdmin自体が自身の設定や履歴を保存するための専用データベースです。
通常、phpMyAdminはブラウザ経由でMySQLを管理する「インターフェース」ですが、それ単体では永続的な情報を保持できません。そのため、MySQL内に専用のデータベース(通常はphpmyadminという名前)を作成し、そこにテーブルを作成して情報を書き込む仕組みになっています。この仕組みを有効にすることで、複雑なテーブル間のリレーション図の作成や、過去のSQL実行履歴の再利用が可能になります。

実装/解決策: 設定手順のステップ

設定には大きく分けて2つのステップが必要です。

1. データベースの構築: phpMyAdminが提供しているSQLスクリプトを使用して、必要なテーブル構造をインポートします。
2. 設定ファイルの編集: `config.inc.php` を編集し、phpMyAdminに対して「どのデータベースを保管領域として使用するか」を明示します。

サンプルプログラム: 設定ファイルの構成例

`config.inc.php` を開き、以下の設定が有効になっていることを確認してください。コメントアウト(//)を外すことで設定が反映されます。

/

  • 以下の記述を config.inc.php に反映します。
  • 既存の config.sample.inc.php をコピーした場合は、
  • 適切な箇所に以下を追記・修正してください。

/

// 環境保管領域として使用するデータベース名を指定
$cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;

// 各種機能に対応するテーブル名を紐付け
$cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
$cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
$cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
$cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
$cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
$cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
$cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
$cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
$cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
$cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
$cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;
$cfg[‘Servers’][$i][‘favorite’] = ‘pma__favorite’;
$cfg[‘Servers’][$i][‘users’] = ‘pma__users’;
$cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;
$cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;
$cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;
$cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;
$cfg[‘Servers’][$i][‘designer_settings’] = ‘pma__designer_settings’;
$cfg[‘Servers’][$i][‘export_templates’] = ‘pma__export_templates’;

// 上記の設定後、必ずファイルを保存し、phpMyAdminに再ログインしてください。

応用・注意点: 現場での運用アドバイス

1. 権限設定の確認
インポートした「phpmyadmin」データベースに対して、phpMyAdminのログインユーザーが適切な権限(SELECT, INSERT, UPDATE, DELETEなど)を持っていることを確認してください。権限不足の場合、設定してもエラーが消えないことがあります。

2. セキュリティへの配慮
本番環境でphpMyAdminを公開する場合は注意が必要です。環境保管領域の設定ファイルにパスワード等を記載する場合があるため、ファイルのパーミッションを適切に管理(通常は644や600など)し、第三者から閲覧されないよう徹底してください。

3. アップデート時の注意
phpMyAdminのバージョンを上げた際は、`create_tables.sql` も更新されている場合があります。もし表示が崩れる等の不具合が生じた場合は、新しいバージョンのSQLファイルを再度インポートすることで改善することがあります。

これらの設定を行うことで、日々のデータベース操作がより快適になるはずです。ぜひ設定してみてください。

コメント

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