カテゴリー
Windows

phpMyAdmin 環境保管領域。

The same article in English
投稿アップデート情報  追記(7/5)  追記2(7/9)

 phpMyAdmin には,バージョン 3.4.2. から環境保管領域と呼ばれるようになった記憶媒体がある。 phpMyAdmin にしょっぱなにログインすると,「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。」というメッセージが出るので,名前にはなじみのある方も多いと思う。この機能を有効にすると, bookmarks, comments, SQL history, relations, PDF schema, MIME transformations を使えるようになる。まあ,この SQL サーバでやったことをまとめて覚えてくれている領域とでもいえばいいだろうか。なかなか,使いこなすところまでいかないのだが, bookmarks 機能なんかは,便利に使っているのものの一つだ。前にも,同名で記事を書いたことがあるのだが,それからだいぶ私の知識が進歩したと思うので,書き直すことにした。
 ところで, phpMyAdmin をサーバにインストールするについては,セキュリティ上,気を付けなければいけないことがたくさんあるが,ここではそれには触れないので, Official Documentation にしっかり目を通して,各自気をつけていただきたい。手前味噌だが,我が家の phpMyAdmin タグの記事もいくらかは参考になると思う。

 はじめて,環境保管領域を有効にするときの手順は以下のとおりである。

  1. create_tables.sql を使って, MySQL 上にそれ用のデータベースとユーザーを作る。
  2. 1. で作ったユーザに control user としての特権を付与する。
  3. config.inc.php をカスタマイズする。

 では,始めます。

  1. テキストエディタで create_tables.sql を開け,下の2行をアンコメントする。
    ————
    GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
    ‘pma’@localhost;
    ————

    phpMyAdmin に root 権限でログインし, create_tables.sql をインポートする。これで, phpmyadmin データベースとパスワード未設定の pma ユーザが作成される。

    注) 気休めかもしれないが, phpmyadmin と pma という名前は,サーバ独自の別の名前にしておいたほうがいいと思う。なにしろ, phpMyAdmin というのは有名どころのソフトで,攻撃も半端でないので。インポート前に, create_tables.sql を編集しておけばすむ話ですから。

  2. phpMyAdmin SQL クエリウインドウから,以下のステートメントを実行してやる。
    ————
    GRANT USAGE ON mysql.* TO ‘pma’@’localhost’ IDENTIFIED BY ‘pmapass’;
    GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO ‘pma’@’localhost’;
    GRANT SELECT ON mysql.db TO ‘pma’@’localhost’;
    GRANT SELECT ON mysql.host TO ‘pma’@’localhost’;
    GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO ‘pma’@’localhost’;
    ————
    当然ながら, ‘pmapass’ はちゃんと変えてネ。 phpmyadmin と pma も自分の使うものに変えるのを忘れないでください。
     
    phpMyAdmin をログアウトする。
  3. config.inc.php を開けて,以下の 20 行をアンコメントする。 pmapass , phpmyadmin , pma の件もお忘れなく。
    ————
    /*
    * phpMyAdmin configuration storage settings.
    */

    /* User used to manipulate with storage */
    // $cfg[‘Servers’][$i][‘controlhost’] = ”;  ⇐必要ならば,設定。
    // $cfg[‘Servers’][$i][‘controlport’] = ”;  ⇐必要ならば,設定。
    $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][‘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’;
    ————

    phpMyAdmin に再ログイン。

    「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。」というメッセージが消えたはず。

 おしまい!!

 これで,環境保管領域の機能が使えます。

追記(7/5):
 書き忘れ。
 アップグレードのときは,バックアップを取ったのち,新create_tables.sql を再度インポートする。前からあるものはそのままで,新しいテーブルのみ作ってくれるので,あとは,config.inc.php を手直しすればよい。
 もちろん,既にcontrol user は存在しているので,例の2行のアンコメントはしない。また, phpmyadmin と pma も自分の使うものに変えておくこと。

追記2(7/9):
 本日,くりくりさんへお返事を書いてて,ふと,1.と2.の間にタイムラグがあるのは,かなり怖いのかもと思った。うちのサーバの場合, MariaDB の接続ポートは外に対しては開いていないし,内向きに関してもユーザが私だけなので,そこまで神経質になる必要はないのだが,アクセス数が多く,必然的に悪意のアタックの絶対数の多いサーバの場合,1.と2.の間にタイムラグがあると, pma ユーザがノーパスでさらされる時間ができることになる。これは,かなり怖い。

 ということは,ユーザづくりは手作業でやって,パスワードと特権を設定したのち, create_tables.sql インポートするほうが,やっぱベターかな。

 ところで,うちの controluser の特権は,現時点で以下のようになっている。
————
GRANT USAGE ON *.* TO ‘pma’@’localhost’ IDENTIFIED BY PASSWORD ‘pmapass’;
GRANT SELECT, INSERT, UPDATE, DELETE ON pma_main.* TO ‘pma’@’localhost’;
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO ‘pma’@’localhost’;
GRANT SELECT ON mysql.db TO ‘pma’@’localhost’;
GRANT SELECT ON mysql.host TO ‘pma’@’localhost’;
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO ‘pma’@’localhost’;
————

「phpMyAdmin 環境保管領域。」への20件の返信

こんにちは試しにやってみました。
# mysql -u root -p
> source /var/www/phpmyadmin/examples/create_tables.sql
権限は
>GRANT ALL PRIVILEGES ON `phpmyadmin`.* TO ‘pma’@’localhost’;
後はwindowsと同じです。

必ずログアウトとログインをしないと環境ほごなんちゃらというエラーはきえませんでした。

くりくりさん,おはようございます。

> 権限は
> >GRANT ALL PRIVILEGES ON `phpmyadmin`.* TO ‘pma’@’localhost’;
うーん,おかしいな。バージョンは何ですか。

最新版(4.2.5)だと,LINUXバージョンでも,
GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO ‘pma’@localhost; なんですが。
rootのガードが年々堅くなって,そのせいもあってか,controluser狙いの悪事が増えてるんで,examples 内の GRANT ALL PRIVILEGESがGRANT SELECT, INSERT, DELETE, UPDATEに,どっかで変わったのかもしれませんね。

実際,create_tables.sqlには,
— This script expects the user pma to already be existing. If we would put a
— line here to create him too many users might just use this script and end
— up with having the same password for the controluser.
という注意書きが入ってますからね。

GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO ‘pma’@localhost;
をコメントで載せてるにもかかわらず,微妙な注意書きだなと思うのですが,オフィシャルとしても痛し痒しのところがあるんでしょう。

そんな注意書きあったんですか!!
とあるサイトにでていたんで全然みないでそのままやってしまいました。単純にエラーがきになったんで有効化させただけですから、そのうち削除する予定です。

CentOS7もでたみたいですし、今週は色々検証になりそうです。

おっと,追記2を書いている間にお返事が!!

はい,そういう注意書きがあります。
phpMyAdmin, 便利なんですが,諸刃の剣です。便利なものは何でもそうなんですが,使い方を誤ると,怖いです。

有名どころのソフトですから,狙われる危険度も高いです。使う場合は,セキュリティパッチあては欠かせませんね。

こんにちは
またwordpressへDOS攻撃くらいました。

今度は同じ海外でも性能がいいサーバーのほうです。
3回とも昼13時くらいに攻撃とか同一人物なのかなと推測。

このサーバーはメモリーに余裕があるので、とくにMaxRequestsPerChildはいじってません。

くりくりさん,こんばんは。

お疲れさまです。そうすると,今回は落ちはしなかったんですか。不幸中の幸いでしたね。それでも,最中は結構重くなっていたのかもしれませんが。

私のほうは,このところ手を焼いていた 500 Internal Server Error の犯人がわかりまして(BulletProof Security でした),昨日ようやく,解決しました。久しぶりに WordPress の日本語フォーラムで相談したのですが,煮詰まっているときは,視野が狭くなっているので,誰かに相談するのもいいことだと,改めて痛感しました。

昔は身近に相談相手がいないと,それさえも無理でしたが,今は,ネット上で相談できますから,それを思うと感慨無量です。

こんばんは
>WordPress の日本語フォーラムで相談したのですが,

ご自分で解決の手段を探したり切り分け出来る能力がいやーすばらしいです!!

会社の人間にみせてやりたいくらいですよ。
本職のプロが管理者の俺にwordpressの技術的なことでまけちゃうんですよ・・・・。
なんでも人にまかせやがってお前らもo6asanさんを見習って
自分で解決しろ!!馬鹿ヤロー!!

といえたらどんなに気持ちいいか(笑)

>BulletProof Security
プラグインは結構こわいですね。wp-super-cacheでえらいめにあってしまいました。解決できてよかったです!!

くりくりさん,おはようございます。

なーんかいろいろあるみたいですね。何にも,お役には立てませんが,お疲れさまです m(_”_)m。

こんにちは

>なーんかいろいろあるみたいですね
お気遣いありがとうございます!!

怪我の功名ではありませんが、無線lanの子機を導入しました。
結果、3回線をパソコンで簡単に切り替えることが可能な環境を手に入れましたので、追い出されるよりいい環境になりました^^ネットワーク管理者の俺のみ特権ということで、誰にもおしえるつもりはありませんし文句はいわせません。

くりくりさん,こんにちは。

無線LANですか。安定度はどうですか。
いまだに,モバイル以外は,無線に縁がなくて。

ところで,我が方,久しぶりにいいお天気なのですが,その分,暑いです。へばってます。エアコンに入ると,しんどくて嫌いなんですが,入ってなくて汗が出ると,汗疹がいっぱい出来たりして,困った弱虫です(爆)。

今晩は

>無線LAN
まだ、一日しかつかってませんがとりあえず問題なさそうです。
TODOSのほうに検証結果をのせていくつもりです。

>汗疹がいっぱい出来たりして,困った弱虫
いやー、私は生来肌が弱いのでちょっとあせをかくとかゆくなったりと皮膚科とはいっしょうつきあわないといけないでしょうね。

くりくりさん,こんばんは。

> 生来肌が弱いので
ご同類がいましたねぇ。私も,肌の弱いことでは人後に落ちません(オーバーだねぇ)。年中何かできてます。同じく,皮膚科とは縁が切れません。

それでも,子供のころに比べると,ましになった気がする,今日このごろではあります(爆)。

おはようございます。

よくわからない赤い湿疹ができたので皮膚科に行って
薬を処方してもぬったんですが、なおりません。
明日会社を早退して紹介状を貰った医者にいくつもりです。

アザみたいような斑点みたいのができるので、
素人判断ですがジベルばら色粃糠疹?なきがします。

くりくりさん,こんばんは。

ジベル薔薇色粃糠疹を探して,読んでみました。これ自体は,原因不明だが重篤になることはないということのようですが,この病気に決まりということではなくなんだかわからないというのが,私だったら気持ち悪いです。もっとも,皮膚病って,そういうのが多いですが。

皮膚の症状って,ほかの病気の症状の一つとして出ることもありますから,紹介先の病院ではっきりするといいですねぇ。

おはようございます。

かかりつけの医者に紹介状をもらって昨日お医者さんいってきました。実は家から歩いて5分の所くらいに病院がありまして紹介された時あんまりいい評判がないので、怪訝な顔してみましたら、先生の話によると地元でNO1とかどうとか
調べてみるとびっくり
http://www.honhp.ecnet.jp/michioprofile.html
なんとも凄い先生なんですね。
母親の口コミがいかにいい加減かがわかります。

さて、どうも先生のお話によるとカビの一種でカンジタらしいです。ただ、ネットで調べると口内とか性器とかのに俺は腕にできる。しかも、毎日お風呂入ってるのにカビ?

普通の人と違うのはやっぱり肌が弱いのが原因なーなんて思います。

くりくりさん,こんにちは。

はぁ,カンジダでしたか。

> 毎日お風呂入ってるのにカビ?
洗いすぎってことはありませんか。年齢にもよりますが,入浴を毎日している場合,普通に石鹸で洗うだけで,洗いすぎになることがあります。もちろん,個人差があるのですが,皮膚の弱い場合,要注意です。
人によっては汚いと思うかもしれませんが,私など,風呂場ではせいぜい手に石鹸を泡立てて,それで全身を洗うくらいです。実は,これ自体,皮膚科で洗い過ぎと注意されてから,始めたことです。
そのときの先生が「ナイロンタオルなどでゴシゴシこすってないですか」とおっしゃったのです。そんな洗い方はしていませんでしたが,医者の目から見てこすり過ぎの症状ならばと思い,そのころ使っていた普通のタオルもやめて,手でそっと洗うだけにしました。そうしたら,あら不思議,湿疹が改善しました。それ以来,石鹸も無香料の弱いのに変えて,手で洗う方法を守っています。

きれい好きな方の場合,手などは本当に洗いすぎのことがよくあります。強い洗浄剤やお湯などを使うと,手を守っている常在細菌がいなくなって,アトピーが激しくなったり,カンジダがはびこったりということが起こりがちです。心当たりはありませんか。家族で同じものを使っていても,肌の弱い人だけに症状が出てしまいます。

今晩は

カンジダじゃないか?と
ぬり薬もらったんですがぬったら症状がひどくなったのでぬるのやめます。前の薬もこれが原因で病院をかえることになりました。

ドクターショッピングってあんまりよくないんだけど・・・・。
医者かえることにしてみます。ネットの口コミに変更。

洗いすぎ・・・。ちとここはかんがえてみましょう。
ただ、石鹸であわだてててであらうようにしてます。そうしないと湿疹ができてしまいますからね。

くりくりさん,こんばんは。

> ぬったら症状がひどくなったのでぬるのやめます。
信頼できると思ったら,その先生に相談した方がいいです。この信頼できる先生を探すのが,難しいんですがネ。
皮膚病って,1回で効く薬にあうことは稀です。「1回目で当たれば,名医だと思ってくれるんですがねぇ」と,昔の主治医が言っていました。はるか,昔の話です。
その頃よりは検査方法が進んでいるから,病気の種類は判断しやすくなっていると思いますが,薬の種類も半端なく増えているでしょうから,病名が間違っていなくても,1回目で当たらないのはあまり変わらないのではないでしょうか。

> 洗いすぎ・・・。ちとここはかんがえてみましょう。
今は,病変があって,しかもそれがカビの可能性があるのですから,これも素人判断は禁物です。が,摩擦や刺激に対する反応の場合は,それを取り除くと,改善しますよ。

こんにちは、病院にいってきました。
病院に来た理由(カンジタ用の薬で症状がひどくなった)と現在吹き出物とカンジダの薬を処方してもらってることを簡単に説明したらカンジダじゃねーだろうとばっさり診断されました。

カンジダじゃこうはならねーだろうとのこと、また、カビを顕微鏡で見るという検査?でしょうかそれをしたかどうか聞かれたのでしてないことを報告。

>1回で効く薬にあうことは稀

病院を変えてる俺がいえることではありませんが、
一応二人の医者(一人は地元じゃ有名)が処方した薬で
症状がちょっとひどくなったくらいで飲み薬から塗り薬から全部やめろというんだから・・・。ちょっとびっくりです。よほどの自信があるのでしょう。

診察時間も吹き出物の話がメインになってしまいましたね。

>これも素人判断は禁物です。が,摩擦や刺激に対する反応の場合は,それを取り除くと,改善しますよ。

今日のお医者さんの判断だとどうも汗が原因らしいので、
汗書いたらこまに患部水でながすくらいにしておきます。

くりくりさん,こんにちは。

病院通い,お疲れさまです。

お医者さんによっていうことが違うと,患者は困りますよね。質問すると,しっかり説明してくれる先生に会えるといいですが……

> 汗書いたらこまに患部水でながすくらいにしておきます。
お医者さんに薬の塗り方をしっかり聞いておいた方がいいです。薬によっては,洗い流すたびに塗らないといけないかもしれません。

o6asan へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です