第2章MySQLの運営 |
index--TOP--prevpage
|
MySQLが提供する権限 MySQLの権限には、テーブルへのデータ挿入・削除や、更新などがある。権限の設定はmysqlデータベースのuser、db、host、tables_priv、columns_privで行う。下記のテーブルを参照してほしい。 権限ColumnContext selectSelect_privtables insertInsert_privtables updateUpdate_privtables deleteDelete_privtables indexIndex_privtables alterAlter_privtables createCreate_privdatabases,tables/indexes dropDrop_privdatabases/tables grantGrant_privdatabases/tables reloadReload_privserveradministration shutdownShutdown_privserveradministration processProcess_privserveradministration fileFile_privfileaccessonserver ・select,insert,update,deleteの権限は、存在しているデータベースのテーブルに対して許可される。 ・select権限はテーブルから行を取り出すことができる。 ・index権限はインデックスの作成と破棄(削除)を許可する。 ・alter権限はALTERTABLEの実行を許可する。 ・createとdrop(※1)権限は、新しいデータベースやテーブルの作成、あるいは既に存在するデータベース、テーブルの破棄(削除)を許可する。 ・grant権限は、他のユーザーに対して自分の権限を持たせる事を許可する。 ・fileの権限を与えると、LOADDATAINFILEとSELECT...INTOOUTFILE構文を使用して、サーバーのファイルを読み書きする事ができる。 ※mysqlデータベースに登録されているユーザーにdrop権限を与えると、そのユーザーはMySQLのアクセス権限が格納されているデータベースを破棄できます 管理者操作に関する許可 残りの権限は管理者操作に関する許可だ。この権限により、mysqladminコマンドの実行権が設定される。mysqladminコマンドのどれが、どの権限に対応しているかは次の表の通り。 権限コマンド reloadreload,refresh,flush-privileges,flush-hosts,flush-logs,flush-tables shutdownshutdown processprocesslist,kill 各コマンドの詳細 ・reloadはサーバーに権限の設定を再読込させるように伝える。 ・refreshコマンドは全てのテーブルをフラッシュし、ログファイルを開き直す。 ・flush-privilegesはreloadと同義。 ・その他のflush-・コマンドはrefreshの動作とよく似ているが、適用範囲を絞っており、ちょっとした場合に有効だ。例えば、ログファイルだけをフラッシュしたい場合、refreshを行うよりもflush-logsが効果的な方法だ。 ・shutdownコマンドは、。 ・processlistコマンドはサーバーが実行しているスレッドの情報を表示する。killコマンドはサーバーのスレッドをkillする。自分のスレッドは常に表示、killできるが、他人のスレッドをそうするにはprocess権限が必要だ。 |