ユーザの追加
root権限を持つ管理者でもMySQLにアクセスすることはできますが、ユーザを追加した方がメリットがあります。それは、root権限に与えられている権限があまりにも壮絶だからです。テーブルの削除もデータベースの削除も行うゴジラの様なことも行うことが可能だからです。ユーザを追加することによって、root権限には与えられない強力な権限を防ぐことができます。
例えば、MySQL内でrootになってから次のようなデータベースレベルでアクセス可能なユーザを追加してみます。なお、コマンドの終了時には、\gか;を入力する必要があります。
- ユーザ名 : tamakichi
- パスワード : hiropon777
- ホスト名 : localhost
- アクセスを許可するデータベース名 : OmuraDB
$ CREATE DATABASE OmuraDB;
$ GRANT ALL ON OmuraDB.* TO tamakichi@localhost IDENTIFIED BY "hiropon777";
これで新しいユーザを追加することができました。
CREATE DATABASE文は、新規でデータベースを作成するコマンドデータベースを作成するコマンドです。今回は OmuraDB というデータベースを作ってみました。
GRANT文の項目は、ユーザ『tamakichi』を追加した上に、アクセスできるデータベースを『OmuraDB』にしかアクセスできない様にし、パスワード『hiropon777』も設定しました。
このようにユーザを追加したら最後に次のようなコマンドを入力して、ユーザテーブルをリフレッシュします。
$ FLUSH PRIVILEGES;
ユーザをリフレッシュ(FLUSH)したところで、ユーザ『tamakichi』はMySQLサーバのデータベース『OmuraDB』に接続することができます。ユーザ『tamakichi』でアクセスするには次の様にコマンドを入力する必要があります。
# /usr/local/mysql/bin/mysql -u tamakichi -p
$ Enter Password hiropon777
