MySQL ユーザーに関連する処理
Sponsored Links
皆さんこんにちは
お元気ですか。お酒美味しい。
たまにはSQLについてやろうかなと思います。
よく利用されるのはWebServiceなどで使われますね。今回はMySQLをメインに取り上げてみたいと思います。
今回はユーザー関連についてお話します。
MySQLのログイン
まず、ログインの方法ですが、
mysql
基本はこれだけで可能です。
しかし、ユーザーを指定したい場合、Passwordを入力する為は別のコマンドが必要です。
以下の感じで入力するとログインができます。(-u userを指定、-p passwordを指定)
mysql -u tereka -p
パスワードが必要で、指定しない場合は以下のようにログインを弾かれます。
mysql -u tereka ERROR 1045 (28000): Access denied for user 'tereka'@'localhost' (using password: NO)
ユーザー情報を確認
mysqlにログインを行った後に以下のコマンドを打つとUserの情報を確認することができます。
SELECT * FROM mysql.user;
テーブルの項目が多いので内容は省略しますが、様々な情報を閲覧することができます。
ユーザー作成
CREATE USER [user名];
ユーザー権限
GRANT ALL PRIVILEGES ON *.* TO tereka IDENTIFIED BY 'test' WITH GRANT OPTION;
構文ですが、
GRANT 権限 ON 権限対象[tableなど] TO [user名] IDENTIFIED BY [password] WITH [GRANT OPTION]
ALL PRIVILEGES = 全権限可能
*.* = 全てのデータベース、全てのテーブルで利用可能「.」で区切る
WITH GRANT OPTIONがあると権限の書き換えを可能とします。
パスワード変更
set password for root@localhost=PASSWORD('password');
ユーザー削除
DELETE FROM mysql.user WHERE user='user';
mysql.userにあるユーザーを削除すると自動的にユーザーも消えてくれるようです。