はじめに
こんにちは、シルです。
SQLの学習にあたり、学んだことメモしておきます。
学習にお役立てください。
参考までに…
SQLコマンド集:基本から応用
前回までの内容です
SQL#1 環境準備と基本操作
SQL#2 テーブルとデータベースの管理
学習の概要
このパートでは、データベースのユーザー管理と権限の設定について学びます。
ユーザーの作成、権限の付与、パスワードの変更、不要なユーザーの削除方法に加えて、権限確認も行います。
これらの操作をマスターすることで、データベースのセキュリティを強化でき、アクセス管理を効率化します。
含まれる操作
SQL操作は以下の通り
1. ユーザー作成と権限付与
2. データベースの権限を確認する
3. ユーザーのパスワード変更
4. ユーザー削除
5. SHOW GRANTS – ユーザー権限の確認
課題
- 新しいユーザーを作成し、特定のデータベースにのみアクセス可能な権限を与える。
- ユーザーの権限を確認し、パスワードを変更する。
実践
1. ユーザー作成と権限付与
データベースにアクセスする新しいユーザーを作成し、そのユーザーに特定のデータベースへのアクセス権限を付与します。
ユーザー作成
次のコマンドを使用して、dbuser というユーザーを作成し、パスワードを設定します。
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'password123';

権限付与
このユーザーに対して、EmployeeDB データベースへのすべての権限を付与します。
GRANT ALL PRIVILEGES ON EmployeeDB.* TO 'dbuser'@'localhost';

特定のテーブルにだけ権限を付与する場合は、次のようにします。
GRANT SELECT, INSERT ON EmployeeDB.Employees TO 'dbuser'@'localhost';

2. データベースの権限を確認する
特定のユーザーにどのような権限があるか確認するには、SHOW GRANTS コマンドを使います。
SHOW GRANTS FOR 'dbuser'@'localhost';
これで、dbuser に割り当てられている権限の詳細を確認できます。

3. ユーザーのパスワード変更
セキュリティを強化するため、ユーザーのパスワードを定期的に変更することが推奨されます。
ALTER USER 'dbuser'@'localhost' IDENTIFIED BY 'newpassword456';

4. ユーザー削除
不要になったユーザーを削除する際には、次のコマンドを使用します。
DROP USER 'dbuser'@'localhost';
この操作により、dbuser がデータベースにアクセスできなくなります。

5. SHOW GRANTS – ユーザー権限の確認
前述の SHOW GRANTS コマンドを使って、既存のユーザーの権限を確認することで、管理ミスを防ぐことができます。
SHOW GRANTS FOR 'dbuser'@'localhost';

テストデータの挿入
以下のコマンドを使って、テスト用のデータベースとユーザーを作成し、権限を設定します。
テストデータベースの作成
CREATE DATABASE TestDB;
テストユーザーの作成と権限付与
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'test123';
GRANT ALL PRIVILEGES ON TestDB.* TO 'testuser'@'localhost';


テストユーザーの権限確認
SHOW GRANTS FOR 'testuser'@'localhost';

課題
- 課題1
新しいユーザー staffuser を作成し、EmployeeDB データベースに対する SELECT と INSERT のみの権限を付与してください。
CREATE USER 'staffuser'@'localhost' IDENTIFIED BY 'staff123';
GRANT SELECT, INSERT ON EmployeeDB.* TO 'staffuser'@'localhost';
- 課題2
staffuser のパスワードを変更し、権限を確認してください。
ALTER USER 'staffuser'@'localhost' IDENTIFIED BY 'newstaff456';
SHOW GRANTS FOR 'staffuser'@'localhost';
- 課題3
不要になった testuser を削除してください。
DROP USER 'testuser'@'localhost';
まとめ
この記事では、データベースユーザーの作成と管理、権限の設定、パスワードの変更、不要なユーザーの削除について学習しました。これらの操作を理解することで、データベースのセキュリティを強化し、適切なアクセス管理を行うことができます。
次回は、サーバーステータスやインデックスの管理方法を学び、さらにデータベース運用のスキルを深めていきます。


コメント