 |
|
前のページ 1 2 3 次のページ
|
 |
ユーザ作成と権限付与の動作確認
|
では早速、上記で作成したuserユーザでMySQLにログインし、権限が有効になっているかどうか確認してみましょう。
$ mysql -u user -p
Enter password:
userユーザでログインを行う場合、「-p」オプションを指定します。このオプションを付加することで、パスワードの入力を促されます。正しいパスワード(ここでは、'user')を入力すると、正常にログインが完了します。
なお、対話型でログインする際は「mysql -u user -p」でも実行できますが、バッチなどで利用する際には「mysql -u user -puser」で作業を行います。このとき「-p」とパスワードの間にスペースを入れないように特に注意してください。コマンドを「mysql -u user -p user」と指定すると、パスワードが" user"(スペースから始まる5文字)と認識されてしまいます。
userユーザは、mysqlデータベースのすべてに対してSELECTの権限を持っているので、実際にその操作を行ってみます。
MySQLのユーザ情報テーブルであるmysqlデータベース内にあるuserテーブルのホスト名(host)とユーザ(user)、パスワード(password)のカラムを参照してみます。
$ mysql> SELECT host, user, password FROM mysql.user;
+-----------------------+-------+-------------------------------------------+
| host | user | password |
+-----------------------+-------+-------------------------------------------+
| localhost | root | |
| 127.0.0.1 | root | |
| % | user | *D5D9F81F5542DE067FFF5FF7A4CA4BDD322C578F |
+-----------------------+-------+-------------------------------------------+
3 rows in set (0.00 sec)
確かにuserテーブルのすべてのカラムが参照できることがわかります。
では今度は、userユーザがuserテーブルをUPDATEしようとした場合は、どうなるか確認してみましょう。
$ mysql> UPDATE mysql.user SET password='password' WHERE user='user';
ERROR 1142 (42000): UPDATE command denied to user 'user'@'localhost' for table 'user'
userユーザは、UPDATEコマンドは許可されていないという旨のメッセージが表示されました。先ほどGRANTコマンドで設定した権限が有効になっていることが確認できます。
|
MySQLの基本的なコマンド
|
ここからはMySQLを使う上で必ず覚えておきたいコマンドを列挙していきます。
これらのコマンドはMySQL上に存在するデータベース、テーブル、カラムの一覧を取得したり、実行中プロセスの情報を取得する基本的なコマンドになります。いずれも、コマンドを実行するユーザに対し、最初のGRANTコマンドにより権限レベルの指定が必要です。
|
データベース一覧取得コマンド
|
SHOW DATABASES [LIKE パターン];
MySQL上に作成されているデータベースの一覧を取得します。権限によっては、表示されないデータベースもあります。「LIKE」に続けてパターンを入力すれば、表示するデータベースを絞り込むことができます。パターンにはワイルドカードの「%」および「_」を使用できます。
|
データベース選択コマンド
|
USE データベース名;
MySQL上に作成されているデータベースを選択します。USEコマンドを実行しておくことにより、SELECT文などでテーブルを指定する際に、「データベース名.テーブル名」という記述を「テーブル名」だけにすることができます。
逆にいえば、USEコマンドを実行するまでは、必ず「データベース名.テーブル名」という指定が必要になります。
|
テーブル一覧取得コマンド
|
SHOW TABLES [LIKE パターン];
データベース内に存在するテーブルの一覧を取得します。権限によっては、表示されないテーブルもあります。SHOW TABLESコマンドは、事前にUSEコマンドによって、データベースを選択しておく必要があります。「LIKE」に続けてパターンを入力すれば、表示するテーブルを絞り込むことができます。
|
カラム情報取得
|
DESCRIBE [データベース名.]テーブル名 [パターン];
テーブル内のカラムの情報を取得します。このコマンドを実行する際には、USEコマンドによってデータベースを選択しておくか、「データベース名.」を指定する必要があります。「パターン」を指定した場合、表示するカラムを絞り込むことができます。なお、このコマンドでは、LIKEはつけません。
|
実行プロセス取得コマンド
|
SHOW [FULL] PROCESSLIST;
現在MySQL上で実行されているプロセスの一覧を表示します。「FULL」オプションを指定した場合、実行されているコマンドやSQLを完全な形で表示します。接続しているクライアント数や長時間実行されているSQL、ロックが掛かってしまっているSQLなどをこのコマンドから確認することができます。
|
前のページ 1 2 3 次のページ
|

|
|

|
著者プロフィール
株式会社野村総合研究所 松野 洋希
情報技術本部 オープンソースソリューションセンター 大規模コンシューマ向けWebサイトのインフラ構築にあたり、オープンソースのフレームワークやミドルウェアの検証・評価に携わる。2003年、日本人としては初めてJBoss社の認定コンサルタントに合格。現在は、金融系システム基盤へオープンソースソフトウェアを適用するために設計・構築を行っている。
NRIオープンソースサポートサービス OpenStandia
http://www.nri-aitd.com/openstandia/
|
|
|
|