はじめに
このプロジェクトでは、MySQL データベースでユーザー権限を管理する方法を学びます。具体的には、新しいローカルユーザー「Rong」を作成し、performance_schema データベースへのアクセス権を付与します。
👀 プレビュー
MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost` |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
🎯 タスク
このプロジェクトでは、以下を学びます。
- MySQL サーバーを起動し、MySQL ターミナルにログインする方法
- 特定のパスワードで新しいローカルユーザーを作成する方法
- 特定のデータベースとそのテーブルへのユーザーアクセス権を付与する方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- MySQL データベースでユーザーアカウントと権限を管理する
- ユーザーに対するデータベースアクセスの付与と取り消しのプロセスを理解する
- 独自の MySQL ベースのアプリケーションでユーザー権限を設定するためにこれらのスキルを適用する
MySQL を起動してログインする
このステップでは、MySQL サーバーを起動し、MySQL ターミナルにログインする方法を学びます。
システム上のターミナルを開きます。
次のコマンドを実行して MySQL サービスを起動します。
sudo /etc/init.d/mysql startMySQL ターミナルにログインします。
mysql -urootこれで MySQL ターミナルに入っており、MySQL コマンドを入力できるようになります。
ローカルユーザーを作成する
このステップでは、パスワード「123456」で新しいローカルユーザー「Rong」を作成する方法を学びます。
~/projectディレクトリにmanUser.sqlファイルを作成します。ユーザーを作成するために、次のコードをファイルに追加します。
CREATE USER 'Rong'@'localhost' IDENTIFIED BY '123456';これにより、パスワード「123456」で新しいユーザー「Rong」が作成され、ローカルマシン(localhost)からのログインが許可されます。
performance_schema へのアクセス権を付与する
このステップでは、「Rong」ユーザーに performance_schema データベースへのアクセス権を付与する方法を学びます。
manUser.sqlファイルを開きます。前のステップで追加したコードの後に必要な権限を付与します。
GRANT SELECT ON performance_schema.* TO 'Rong'@'localhost';これにより、「Rong」ユーザーに
performance_schemaデータベースのすべてのテーブルに対する SELECT 権限が付与されます。最後に、特権をフラッシュして変更を有効にします。
FLUSH PRIVILEGES;
ソリューションを検証する
- MySQL プロンプトで SQL スクリプトを実行します。
SOURCE /home/labex/project/manUser.sql;
- MySQL ターミナルで次のコマンドを実行して結果を検証します。
SHOW GRANTS FOR Rong@localhost;
これにより、「Rong」ユーザーの権限が表示され、performance_schema データベースに対する SELECT 権限も含まれます。
MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost` |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
まとめ
おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabEx でさらに多くの実験を行って練習してください。



