介绍
在本项目中,你将学习如何在 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 start登录到 MySQL 终端:
mysql -uroot你现在应该已进入 MySQL 终端,在这里你可以输入 MySQL 命令。
创建一个本地用户
在这一步中,你将学习如何创建一个名为“Rong”且密码为“123456”的新本地用户。
在“~/project”目录中创建“manUser.sql”文件。
将以下代码添加到该文件中以创建用户:
CREATE USER 'Rong'@'localhost' IDENTIFIED BY '123456';这将创建一个名为“Rong”且密码为“123456”的新用户,并允许该用户从本地机器(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 中练习更多实验以提升你的技能。



