のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

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にあるユーザーを削除すると自動的にユーザーも消えてくれるようです。