前回はCREATE DATABASEコマンドでbookshelfという名前のDBを作成し、SHOW DATABASESコマンドでそれを確認しました。
一連の操作はroot権限で行いましたがこれはセキュリティ上よろしくないので、今回はrootユーザへのパスワードの設定と、新しくユーザ(ここでは安直に”yukun”)を作成しbookshelfを操作する権限を付加してみます。
rootユーザのパスワードの設定
普通のコマンドプロンプト(Win)かターミナル(Mac)で以下のコマンドを用いてパスワードを設定します。
$ mysqladmin -u root password <パスワード>
もしくは、mysqlプロンプト上で、
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘パスワード文字列’);
新規ユーザの追加 – CREATE USER文
root権限で以下のコマンドを打ちます。
mysql> CREATE USER yukun IDENTIFIED BY 'ticktack'; Query OK, 0 rows affected (0.00 sec) mysql>
一般式
CREATE USER <ユーザ名> IDENTIFIED BY '<パスワード>';
ユーザの追加はCREATE USERコマンドを使用します。上の例では、”yukun”という名前のユーザを作成し、”ticktack”というパスワードを設定しました。パスワードは本来もっと複雑なものにする必要がありますが今回はローカルでの開発用、と限定した環境での仕様を念頭においていますので、安直な単語にしました。
それでは一回MySQLをログアウトして、再度ユーザyukunとしてログインし、bookshelを使ってみましょう。
mysql> quit Bye C:\Users\yukun>mysql -u yukun -pticktack mysql> USE bookshelf; ERROR 1044 (42000): Access denied for user 'yukun'@'%' to database 'bookshelf' mysql>
USEコマンドでbookshelfを使用しようと試みていますが、ユーザyukunは操作権限が無いためエラーが出ていますね。それでは、このユーザyukunにデータベースbookshelfに対する全操作の権限を付加してみましょう。
ユーザにDBを操作する権限を付加 – GRANT文
もう一度rootユーザでMySQLにログインし以下のコマンドを打ちます。
mysql> GRANT ALL PRIVILEGES ON bookshelf.* TO yukun@localhost IDENTIFIED BY 'ticktack'; Query OK, 0 rows affected (0.00 sec) mysql>
一般式
GRANT <操作名> ON <データベース名>.<テーブル名>
TO <ユーザ名>@<ホスト名> IDENTIFIED BY '<パスワード>';
さぁ、今度こそbookshelfを操作できるはずですので、もう一度先ほどのUSEコマンドを打ってみましょう。
C:\Users\yukun>mysql -u yukun -pticktack mysql> USE bookshelf; Database changed mysql>
おぉ、USEコマンドで使用するDBを選択できるようになっていますね(^-^)b
コメント
[…] 引用元: MySQL: ユーザの追加とパスワード、権限の付加 – GRANT文. […]
[…] MySQL: ユーザの追加とパスワード、権限の付加 – GRANT文 […]
[…] いて説明します。 11.WordPressインストール (1)MySQLユーザー&DBの作成 http://www.yukun.info/blog/2008/10/create-user-grant-password.html rootでログイン CREATE USER ‘kanri’@’localhost’ IDENTIFIED WITH […]
[…] 10.WordPressインストール (1)MySQLユーザー&DBの作成 rootでログイン CREATE USER ‘kanri’@’localhost’ IDENTIFIED WITH mysql_native_password B […]