質問: 下記リンク先で、pmaユーザに対して「データベース"phpMyAdmin"への全ての特権を与える」と書いてありますが、この処理はなぜ必要なのでしょうか? **現状** ・create_tables.sql実行後、pmaユーザ作成 ・環境保管領域エラーは表示されなくなった ・pmaユーザ特権は、USAGEのみ ・phpMyAdminデータベースにアクセスできるユーザ(DELETE機能付与、かつグローバル特権)がたくさんいる **質問** ・phpMyAdminデータベースは何のために存在(作成)? どういうタイミングで何を記録? ・どういう権限を付与すれば良い? ・phpMyAdminデータベースへのアクセスは、セキュリティ上の理由から(?)、データベース固有権限を持つpmaユーザのみに限定した方が良い? ・これまで全く意識したことはないのですが、グローバル権限を持つユーザがたくさん存在しているのはマズいでしょうか? ・それとも、SELECTのみ可のグローバル権限を持つユーザだったら、問題ない? ・データベース側からユーザを選別可能? それともグローバル権限を持つユーザがたくさんいる場合は、ユーザ1件ずつ権限変更するしかない?
回答: phpMyAdmin自身で保存しておく必要のある情報を入れておくのがそのデータベースです。わかりやすい例としてはSQLのブックマーク機能や実行履歴などでしょうか。 phpMyAdminが自由に使っていいDBとして作成するのですから、**そのDBへの**権限を一通り与えるのはそんなに珍しいことでもないかと思います。が、Wikiを見ると一応CRUDに限定していますね。 ブックマークや履歴もそうですが、このDBには全体の管理に関わる情報を記録することになります。その辺を気にするのであればアクセスできるユーザーは限定したほうがよいのではないでしょうか。 ただそうでなくとも、必要なユーザーに必要な権限だけ与えるのが原則かとは思います。 残りの質問はphpMyAdminに限った話題ではなさそうですし、別途質問していただけないでしょうか?