PR

MySQLでユーザの作成、削除、権限の付与

ユーザー MySQL

MySQLのコマンドを利用してユーザーを作成、削除、権限の付与の設定をします。

検証環境:Almalinux9.8,MariaDB10.11.18

ユーザー一覧を表示

MySQLのrootユーザーでログイン

MySQLへrootユーザーでログインします。

$mysql -u root -p
Enter password:パスワードを入力して[Enter]

ログインが完了すると

MariaDB [(none)]>

コマンドを受け付ける接続状態になります。

ユーザー一覧表示

下記コマンドで現在のユーザー一覧を表示して確認することが出来ます。

※注意点 最後の「;」セミコロンを忘れないこと!

MySQLコマンドの最後につけるセミコロン(;)は、「ここまでで1つのSQL命令文が終わりです。実行してください」という区切り(区切り文字)を意味します。 by チャッピー

select user from mysql.user;

コマンドに間違いがなければ下記のようにユーザー一覧が表示されます。

+-------------+
| User        |
+-------------+
| PUBLIC      |
| testuser    |
| mariadb.sys |
| mysql       |
| root        |
+-------------+
5 rows in set (0.002 sec)

ユーザー作成

ユーザーの新規作成

ユーザーを新規作成する場合は下記のコマンドを使用します。

CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'user_password';

ユーザー一覧を表示するコマンドで作成したユーザーが表示されていることを確認します。

ユーザーのパスワード変更

ユーザーのパスワードを付け直す場合は下記のコマンドを使用します。

alter user hoge@localhost identified by 'user_password'; 

参考に下記のコマンドも使用できます。若干打ち込みが面倒なので上記のコマンドを使用をおすすめします。

set password for hoge@localhost = password('user_password'); 

一旦、rootユーザーをログアウトして作成したユーザーとパスワードでログイン出来るか?を確認します。

ユーザー削除

ユーザーを削除する場合は下記のコマンドを使用します。

drop user hoge@localhost; 

ユーザー一覧を表示するコマンドで削除したユーザーが表示されないことを確認します。

ユーザーへ権限の付与

ユーザーの権限の確認

ユーザーを権限を確認する場合は下記のコマンドを使用します。

show grants for hoge@localhost; 

下記が表示結果です。

+-------------------------------------------------------------------------------------------------------------+
| Grants for hoge@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `hoge`@`localhost` IDENTIFIED BY PASSWORD '*0448B30AA0B914563EB04C39592979D6E6FAA885' |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)

「USAGE」は権限なしとなります。

ユーザーにデータベースレベルの権限を付与

今回はWordPress用のユーザーを想定して、特定のデータベースのみを扱える権限を付与します。権限を付与するコマンドは下記になります。

grant create on hogedb.* to hoge@localhost; 

意味としては、「ユーザーhogeにデータベースhogedbのテーブルを作成する権限を付与する」ということになります。

ユーザーを権限を確認するコマンドで付与された権限を確認します。

show grants for hoge@localhost;

ユーザーの権限を削除

ユーザーを権限を削除する場合は下記のコマンドを使用します。

revoke create on mydb.* from hoge@localhost; 

ユーザーを権限を確認するコマンドで付与された権限を確認します。

show grants for hoge@localhost;

コメント

タイトルとURLをコピーしました