MySQL入門 - 作業ユーザを作る方法とMySQLのユーザ一覧を参照する方法
前回は、データベースの作成、削除、接続中のデータベースの確認などを確認した。
azuuun-memorandum.hatenablog.com
今回は、特定のデータベースにアクセスするための作業ユーザというのを作っていく。ちなみに今までは全てrootユーザで操作していた。
作業ユーザを作る
今まで使っていたrootユーザというのは権限が強いので全てのデータベースにアクセスすることが可能。なのでrootユーザでうっかり間違った操作を行ってしまうと、全てのデータベースに影響を与えかねない。
そういう意味で、一般的にはひとつのデータベースを作ったら、そのデータベースにだけアクセス可能な"作業ユーザ"を作ってデータベースをいじっていくのが基本になる。
ではさっそく作ってみる。まずはrootでMySQLにアクセスし、新しくデータベースを作る。
mysql> create database blog_data;
blog_data に関してはデータベース名なので適当に違う名前にしても良い。自分はドットインストールを見ながらやってるので、例に近い名前を付けてみた。
次に作った blog_data データベースに対して作業ユーザを設定する。書式はこんな感じ。
grant all on データベース名.* to ユーザー名@loacalhost identified by ‘パスワード';
"grant all on データベース名.*" →「そのデータベースにおいて権限を与える」
"identified by 'パスワード'" →「パスワードを設定する」
という意味。
実際に実行すると、
mysql> grant all on blog_data.* to azuuun@localhost identified by '********';
Query OK, 0 rows affected (0.00 sec)
無事、作業ユーザができた。
作業ユーザで該当データベースにアクセスする
まず、MySQLサーバを終了させる。
>mysql -u azuuun -p blog_data
パスワードを入力してアクセス。無事、作業ユーザで入れた。
MySQLのユーザを調べる
rootユーザでアクセスする。
mysql> select Host,User,Password from mysql.user;
mysql データべースの user テーブルを参照できる。
+-----------+--------+------------+ | Host | User | Password | +-----------+--------+------------+ | localhost | root | ********** | | 127.0.0.1 | root | ********** | | ::1 | root | ********** | | localhost | hoge | ********** | | localhost | azuuun | ********** | +-----------+--------+------------+
さっき作った User 'azuuun'も確認できた。 ここにUser名が空で名前がないユーザ、通称"匿名ユーザ"が存在する場合、セキュリティを考えてパスワードを設定するか削除することが推奨されているようです。
セキュリティを考慮し、MySQLの匿名ユーザーにパスワードを設定、または削除 | VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで
MySQLのユーザ―管理についてはこちらが詳しい。
今回はここまで。