「phpMyAdmin の設定保存場所が完全に設定されていないため〜」の解消


そのままでも何となく動いちゃう…ケド
phpMyAdmin の設定保存場所が〜」の解消
警告文「phpMyAdmin の設定保存場所が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。」

インストール環境
OSWindows7 Ultimate 64bit(VMWare Fusion3)
マシンiMac 2010 Mid Core i5 760@2.80GHz Mem=12GB(Win6GB,Mac6GB)
HDD1TB(Win545GB,Mac299GB) SSDが欲しいです!
WEBサーバーApache 2.2.21 32bit
PHPPHP 5.3.8 32bit
DBサーバーMySQL 5.5.17 64bit
DB管理ツールphpMyAdmin 3.4.8
統合開発環境Eclipse IDE for C/C++ Version 3.7 Indigo Service Release 1
PHP開発プラグインPHPEclipse 1.2.3
ガンダム初代,Z,ZZ,0083,08小隊,逆襲,F91,V,W,X(37話),AGE(6話)



参考URL [2006/07/17] phpMyAdminのリレーション機能の設定
  1. 警告文の確認

  2. phpMyAdmin警告メッセージ中の「こちら」を選択 →

     エラーリスト一番下の「高度な機能の設定する簡単な方法」に以下のように記述があった



    ・script/create_tables.sql で必要なテーブルを作成します。

    ・作ったテーブルにアクセスできる pma ユーザを作成します。

    ・設定ファイル (config.inc.php) で高度な機能を有効にします。config.sample.inc.php にある設定例をコピーするといいでしょう。

    ・更新した設定ファイルを読み込むために phpMyAdmin にログインし直します。



    言われたとおりにやってみた(´ω`)

    【画面キャプチャ】



  3. script/create_tables.sql で必要なテーブルを作成します。
  4. ・ログイン後の画面に戻る
    ・[インポート]タブ
    ・「アップロードファイル」の[ファイルを選択]
    ・script/create_tables.sql を指定
    ・[実行する]
    
    成功すると以下のメッセージが表示される。
    「インポートは正常終了しました。12 個のクエリを実行しました。 (create_tables.sql)」
    

  5. 作ったテーブルにアクセスできる pma ユーザを作成
  6. 左ペインから作成したばっかりの[phpmyadmin]データベースを選択
    → [特権]タブ
    → [新しいユーザを追加する]リンクをクリック
    
    ユーザー名:pma
    ホスト:ローカル
    パスワード:pmapass
    [データベース "phpmyadmin" への全ての特権を与える]にチェック
    グローバル特権:なし
    
    ※script/create_tables.sqlによるとPrivilegesはactivate this statement if necessary 
    GRANT SELECT, INSERT, DELETE, UPDATE だが、ON `phpmyadmin`.* TO 'pma'@localhost;とのこと。
    ↓参考までにこんな記述
     -- 
     -- Privileges
     -- 
     -- (activate this statement if necessary)
     -- GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
     --    'pma'@localhost;
    
    → [実行する]をクリック
    
    「データベースに固有の特権」で確認したらGRANTだけ付いていなかった
    → 「管理」欄にある[GRANT]にチェック
    → [実行する]をクリック
    

  7. /config.inc.php のコメントを外す
  8. // 2011/12/04 やすはるラボ 以下のコメントをはずした。
    /* User used to manipulate with storage */
     $cfg['Servers'][$i]['controluser'] = 'pma';
     $cfg['Servers'][$i]['controlpass'] = 'pmapass';
    
    /* Storage database and tables */
     $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]['tracking'] = 'pma_tracking';
     $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
     $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
    /* Contrib / Swekey authentication */
     $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
    

  9. 更新した設定ファイルを読み込むために phpMyAdmin にログインし直します。
  10. ・左ペイン 扉アイコン「ログアウト」を選択
    ・ログイン画面から再びログイン
    ・「MySQLデータベースに接続できません」直らないw
    ・ブラウザ閉じる → ブラウザ開く
    ・もう一回phpMyAdminを表示、ログイン
    ・直った(´ω`)
    

  11. そんなこんなで
  12. 最後は後味悪くphpMyAdminふしぎなおどりにMPを吸われたかんじでしたが、とりあえずエラーは出なくなりました。
    まぁたぶんMySQLの接続が残ったまま設定を変えたので、コネクションが死んでしまったのでしょう。
    phpだと案外よくおこりますよね、こういうの