2018年08月01日
Docker for Mac を使って WordPress の...
2018年07月29日
Docker for Mac のインストール
2018年07月08日
Docker 便利コマンドあれこれ
2018年07月08日
オライリーの Docker 本(Docker Up &...
2018年07月05日
iPad mini 2 を購入しました
2018年07月04日
Docker で Jenkins するときのあれこれ

HOME > カテゴリ(データベース)の記事

これだけ押さえておけば大丈夫。MySQL でのユーザー管理(追加、削除、権限、パスワード変更など)コマンド



最低限これだけわかっていれば大丈夫な、MySQL のユーザー管理コマンド(構文)の覚書。

それぞれユーザー管理のコマンド(構文)は、SQL などを発行して行います。

phpMyAdmin などの GUI ツールを使っても良いのですが、ターミナルで MySQL にログインする方法が一番便利だと思います。

MAMP でインストールした MySQL にターミナルからログインする方法は、以下のエントリをご覧ください。

関連記事:MAMP でインストールした MySQL にターミナルでログインする方法

MySQL にログインをしたら、mysql というデータベースに接続をしておきます。

mysql > connect mysql;

既存ユーザーの確認

MySQL では、ユーザーの管理を MySQL の「user」テーブルで行っているので、そのテーブルの内容を参照する事で、既存のユーザー(登録されているユーザー)を確認する事ができます。

ターミナルで MySQL にログインして以下のコマンドを実行します。

mysql > SELECT host, user FROM user;


この場合、2人のユーザーが登録されていることがわかります。

既存ユーザーの権限の確認

登録されているユーザーがそれぞれどんな権限があるのかを確認してみます。

ターミナルで MySQL にログインして以下のコマンドを実行します。

mysql> SHOW GRANTS FOR ユーザー名;

ユーザー名には、調べたいユーザーの名前を入れます。

参考:MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.5.4.16 SHOW GRANTS 構文

結果には、GRANT 構文の内容がそのまま表示されます。GRANT 構文については以下のエントリをご覧ください。

関連記事:WordPress 用の MySQL ユーザーの権限レベル

ユーザーの追加

新規にユーザーを登録してみます。ターミナルで MySQL にログインして以下のコマンドを実行します。

GRANT 権限レベル ON データベース名.テーブル名 TO ユーザ名@ホスト名 IDENTIFIED BY 'パスワード';

※ パスワードのみシングルクォーテーション(’)でくくります。

権限レベル追加するユーザーに与える権限
データベース名どのデーターベースにアクセスを許すのかの指定
テーブル名どのテーブルにアクセスを許すのかの指定
ユーザー名追加するユーザー名
ホスト名どのホストからの接続を許すのかの指定
パスワード追加するユーザーのパスワード

例えば、全てのデータベースの全てのテーブルにアクセスできるようにするには、「データベース名.テーブル名」の部分を「*.*」とします。

特定のデータベース(例えば、test_db)の全てのテーブルにアクセスできるようにするには、「データベース名.テーブル名」の部分を「test_db.*」とします。

また、どのホストからでもアクセスできるようにするには、ホスト名に「%」を指定します。例えば、「ユーザー名@ホスト名」の部分を「new_user@%」とします。

コマンド実行例

GRANT ALL PRIVILEGES ON wordpress.* TO new_user@localhost IDENTIFIED BY 'pass';

このコマンドでは、new_user というユーザーのパスワードを pass に設定しつつ、全ての権限を、wordpress データベース内の全てのテーブルに付与し、localhost から、それらにアクセスできるユーザーを追加しています。

※ 権限に「ALL PRIVILEGES」を指定する事で全ての権限を付与できます。

WordPress 用の MySQL ユーザーを作成(追加)する場合については、WordPress 用の MySQL ユーザーの権限レベル をご覧ください。

参考:MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.5.1.3 GRANT 構文

ユーザーの削除

ユーザーを削除するには、MySQL にログインして以下のコマンドを実行します。

mysql > DELETE FROM データベース名.user WHERE user='ユーザー名';

また、以下のコマンドで権限も削除します。

mysql > REVOKE ALL PRIVILEGES ON * . * FROM ユーザー名;


参考:MySQL :: MySQL 4.1 リファレンスマニュアル :: 4.4.6 MySQL ユーザの削除

パスワードの変更

MySQL へログインして以下のコマンドを実行します。

mysql > SET PASSWORD FOR ユーザー名@"ホスト名"=password('変更後のパスワード');

参考:MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.5.1.6 SET PASSWORD 構文

でわでわ。





この記事にコメントする





Copyright © 2012 - 2013 MacBook Air とWordPressでこうなった All rights reserved
Designed by Theme Junkie. Powered by WordPress.