phpMyAdmin-3.5.0

CORESERVERPHP

 状態:完了  閲覧数:4,542  投稿日:2012-04-26  更新日:2013-02-08
phpMyAdminを「2.1.0」から「3.5.0」へアップグレードしてみた際のメモ

現状バージョン「phpMyAdmin 2.1.0」
前から思ってたのだが、このバージョンって、
古い。古過ぎる!

今の最新は3.5なのに。
一体いつのなのよ? これ…。

バージョンアップに挑戦。
でもやり方が分かんないので、全部差し替えてみる。

1.ダウンロード
phpMyAdmin - Download
phpMyAdmin-3.5.0-all-languages.zip

2.(何かあっても戻せるよう)既存ディレクトリをリネーム
/public_html/log/phpmyadmin/
ブラウザでアクセスして、「404 Not Found」となることを確認

3.リネーム後、アップロード
「phpMyAdmin-3.5.0-all-languages」→「phpmyadmin」
/public_html/log/phpmyadmin/

トークンとか使ってるから?
?token=248e6073ca207cd08084e42fc58023b0
ログインできないよ…

「config.inc.php」をフルコピペしたら、あっさりログインできた。

が、リレーションシップとかどこにあるの?

と思ってたら、警告発見!
「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。」

$cfg['Servers'][$i]['pmadb'] ... NG [ ドキュメント ]
$cfg['Servers'][$i]['relation'] ... NG [ ドキュメント ]
一般的なリレーション機能: 無効

なにこれ?
ドキュメントあるけど、英語なので、何書いてるか分かんない。

/pmd/ディレクトリフルコピペしてアップロードしてみたけど、関係なかったみたい。

「user」テーブル選択して、「構造タブ」クリックして、「リレーションビュー」クリックすると、何か出来るみたいだけど、これどうやって使うんだろ?

ローカルだとビジュアルで表示されたような気もするのだが…



高度な機能の設定する簡単な方法

examples/create_tables.sql で必要なテーブルを作成します。
作ったテーブルにアクセスできる pma ユーザを作成します。
設定ファイル (config.inc.php) で高度な機能を有効にします。config.sample.inc.php にある設定例をコピーするといいでしょう。
更新した設定ファイルを読み込むために phpMyAdmin にログインし直します。


とりあえず、「config.sample.inc.php」を元に、「config.inc.php」を一部書き換え
/*
* phpMyAdmin configuration storage settings.
*/

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $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]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

/*
* End of servers configuration
*/

次に、
examples/create_tables.sql で必要なテーブルを作成しようとしたら、いきなりエラー。

多分、ここでエラーになるんや。
Coreserverでは、DBは管理画面からしか作成できひんやさかい。
CREATE DATABASE IF NOT EXISTS `phpmyadmin`
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
USE phpmyadmin;

イメージとてしては、DBは管理画面を利用して、予め作成。
そこへアクセスできるデータベースユーザ名も、Coreserverの命名規則に則って予め作成(と言うか、=データベース名)。
そのDBへ、「examples/create_tables.sql」を流し込めば、O.K.。
後は、設定ファイル (config.inc.php) を読み込んで、何かやってくれるはず。

そうすると、
変更箇所は、
DB名(データベースユーザ名)。
設定ファイル (config.inc.php) の該当箇所だけか?
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';


とりあえず、やってみる。
1.DB作成
ユーザー名_phpmyadmin

2.設定変更
config.inc.php

3.テーブル作成
create_tables.sqlを参考にする。DB作成不要。use ユーザー名_phpmyadmin;から

でよっしゃこれでいけたわ。
ログアウトする方法が分からないので、クッキー削除して、再ログインしたけど、何も変わらなかった。

なぜ?



6/10
深い意味もなくノリでバージョンアップ(実際は差し替え)してみたけど、
今日、初めてやってよかったよ、と思うことがあったのでメモ。
それは、「JSONエクスポート」機能の取り扱い
◇デフォルト
・「phpMyAdmin - 2.10.1」 … 「JSONエクスポート」不可
◇バージョンアップ
・「phpMyAdmin - 3.5.0」 … 「JSONエクスポート」可



7/18
<「phpMyAdmin 環境保管領域」警告対応に再挑戦>
■現状
◆デフォルト「phpMyAdmin - 2.10.1」 …
・警告表示なし

◆バージョンアップ「phpMyAdmin - 3.5.0」 …
・phpMyAdmin の新しいバージョンが提供されています。アップグレードの検討をお奨めします。最新バージョンは 3.5.2 で、2012-07-07 にリリースされています。
・phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
◇リンク先
高度な機能の設定する簡単な方法
・examples/create_tables.sql で必要なテーブルを作成
・作ったテーブルにアクセスできる pma ユーザを作成
・設定ファイル (config.inc.php) で高度な機能を有効にする。config.sample.inc.php にある設定例をコピー
・更新した設定ファイルを読み込むために phpMyAdmin にログインし直す


>4/26
>/pmd/ディレクトリフルコピペしてアップロードしてみたけど、関係なかったみたい
・何をやろうとしていたか思い出せない
・デフォ「phpMyAdmin - 2.10.1」には、/pmd/ディレクトリが存在していることから、再度「phpMyAdmin - 3.5.0」をダウンロードし、「/pmd/ディレクトリ」だけ取り出してみることにする
ダウンロード - phpMyAdmin - SourceForge.JP
・phpMyAdmin-3.5.0-all-languages.zip
・再度落としてようやく気付いた。「2.10.1」「3.5.0」では、ディレクトリ構造からして異なる。「3.5.0」デフォには「/pmd/ディレクトリ」なんて存在しないのね

・多分、引っ掛かってている一番の理由は、CORESERVERでは、「pma ユーザ」が作成出来ないこと
・だったら、違う名前のユーザーを作成して、それに併せて設定ファイルを書き換えればいいんちゃうの?

・色々試すも全て失敗に終わる
・設定ファイル (config.inc.php) の書き換えとか、とっくの昔に試していた
▼congig_inc.php
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'ユーザー名_phpmyadmin';

・「ユーザー名_phpmyadmin」テーブル作成済

GRANT ALL ON phpmyadmin.* TO pma@localhost IDENTIFIED BY "pmapass";
を参考に
GRANT ALL ON ユーザー名_phpmyadmin.* TO ユーザー名_phpmyadmin@localhost IDENTIFIED BY "パスワード";
を試すも、
#1044 - Access denied for user 'ユーザー名_phpmyadmin'@'localhost' to database 'ユーザー名_phpmyadmin'


■感想
・とっても無理
・ネットにいくらこの種の情報があっても、この件に関しては、CORESERVER特有の事情によるため、そのものの記事でもない限り、対応方法不明(CORESERVER以外の環境での対応を試してみてもうまくいかない)
・「phpMyAdmin 2.1.0」では警告出ていないのに、「3.5.0」上げた途端エラー出るなんて絶対おかしいよ、て思っていたけど、もしかしたら、「2.1.0」では、単にこの「phpMyAdmin 環境保管領域」に予め制限を加えていただけのことかもしれない
・つまり、「3.5.0」上げたから使えなくなったのはなく、元々「2.1.0」でもこの機能は使えなかった
・あるいは、「2.1.0」ではここら辺の機能がなかったとか…。単なる憶測だけど
・何れにしても、現状では、「3.5.0」に上げたメリットの方が大きい


■今日の結論
・CORESERVERで「phpMyAdmin 環境保管領域」に関する警告を解消した、って言うそのものズバリの記事を発見しない限り、この件には再挑戦しない
・ネットにある、CORESERVER以外の環境での情報を元に試してみても、決してうまくいかないので…



<次回予定>


PHP5.3

PECLを試す(も失敗に終わる)