#1146 – Table ‘phpmyadmin.pma_recent’ doesn’t existが出る
xammpを1.8.2にバージョンアップしたところ、phpMyAdminでタイトルのエラーが発生。
過去のバージョンだとインストールするだけで正常に稼働したんですが、何か仕様が変わったのかもしれません。
Linuxではcreate_tables.sqlで設定をしますが、それだけでは解決しなかったので手順を紹介。
1.create_tables.sqlを実行。
Linuxではコマンドで実行しますが、Windowsだと面倒なのでphpMyAdmin上で実行します。
phpMyAdminにログインして上のメニューから「インポート」を選び、「インポートするファイル:」で「C:\xampp\phpMyAdmin\examples\create_tables.sql」選び、「フォーマット」が「SQL」となっていることを確認して実行。(xamppをCドライブ直下に保存した場合)
2.設定ファイルのconfig.inc.phpを編集
「C:\xampp\phpMyAdmin\config.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]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; $cfg['Servers'][$i]['recent'] = 'pma_recent'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; $cfg['Servers'][$i]['users'] = 'pma_users'; $cfg['Servers'][$i]['usergroups'] = 'pma_usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma_navigationhiding'; $cfg['Servers'][$i]['savedsearches'] = 'pma_savedsearches';
となっている部分を以下のように変更。(pma_の部分をpma__とアンダーバーを2つに変更している)
$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]['designer_coords'] = 'pma__designer_coords'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
終わったら、phpMyAdminをログアウトして、再度ログインしてください。
以上でエラーが表示されなくなっているはずです。
もしこれでもpma関連のエラーが出る場合はユーザーを作成して、設定ファイルでパスワードを指定してみてください。
xamppのコントロールパネルで「Shell」をクリックして起動。
mysql -u root -p ← 管理者でログイン(この例ではroot) ***** ← 管理者用のパスワードを入力 > GRANT ALL PRIVILEGES ON phpmyadmin.* TO pma@localhost IDENTIFIED BY '○○○○'; > FLUSH PRIVILEGES; > exit
○○○○の部分はpma用のパスワードを入力。続いて「config.inc.php」の以下の部分を編集。
/* User for advanced features */ $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = '○○○○';
○○○○の部分は先ほど設定したパスワード。
再度phpMyAdminにログインし直す。
以上で正常に動作するはずです。