Sponsored Link
前回はCREATE DATABASEコマンドでbookshelfという名前のDBを作成し、SHOW DATABASESコマンドでそれを確認しました。
一連の操作はroot権限で行いましたがこれはセキュリティ上よろしくないので、今回はrootユーザへのパスワードの設定と、新しくユーザ(ここでは安直に”yukun”)を作成しbookshelfを操作する権限を付加してみます。
rootユーザのパスワードの設定
普通のコマンドプロンプト(Win)かターミナル(Mac)で以下のコマンドを用いてパスワードを設定します。
$ mysqladmin -u root 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: ログインと新規データベースの作成・削除 – CREATE DATABASE、DROP DATABASE文
- MySQL: 新規テーブルを作成・削除、構造の確認 – CREATE TABLE、DROP TABLE、DESCRIBE文
- MySQL: データ検索クエリの基本 – SELECT文、WHERE句、LIKE、IN、BETWEENキーワード
- MySQL: データをテーブルに追加 – INSERT文、INTO、VALUES句
- MySQL: レコードの更新と削除 – UPDATE、DELETE文
Sponsored Link
