MySQL 数据库访问挑战

MySQLMySQLBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

一家小型公司需要为其新的营销团队设置数据库访问权限。作为数据库管理员,你需要创建一个新的用户账户,该账户将允许营销团队查看和分析客户数据,但不能修改这些数据。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/TransactionManagementandSecurityGroup(["Transaction Management and Security"]) sql(("SQL")) -.-> sql/DatabaseManagementandOptimizationGroup(["Database Management and Optimization"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/user("User Info Function") mysql/TransactionManagementandSecurityGroup -.-> mysql/identified_by("User Authentication") mysql/TransactionManagementandSecurityGroup -.-> mysql/grant_permission("Permission Granting") mysql/TransactionManagementandSecurityGroup -.-> mysql/revoke_permission("Permission Revocation") sql/DatabaseManagementandOptimizationGroup -.-> sql/security_permissions("Security and Permissions") subgraph Lab Skills mysql/use_database -.-> lab-418300{{"MySQL 数据库访问挑战"}} mysql/user -.-> lab-418300{{"MySQL 数据库访问挑战"}} mysql/identified_by -.-> lab-418300{{"MySQL 数据库访问挑战"}} mysql/grant_permission -.-> lab-418300{{"MySQL 数据库访问挑战"}} mysql/revoke_permission -.-> lab-418300{{"MySQL 数据库访问挑战"}} sql/security_permissions -.-> lab-418300{{"MySQL 数据库访问挑战"}} end

创建营销分析师访问权限

任务

  • 以 root 用户身份连接到 MySQL
  • 创建一个名为 marketing_analyst 的新用户,该用户只能从 localhost 连接
  • 授予该用户查看(SELECT)marketing_db 数据库中所有表数据的权限
  • 确保用户拥有一个安全的密码

要求

  • 所有操作必须在 ~/project 目录下执行
  • 用户名必须为 marketing_analyst
  • 用户只能从 localhost 连接
  • 用户只能对 marketing_db 拥有 SELECT 权限
  • 密码长度必须至少为 8 个字符

示例

正确设置用户后,当你检查其权限时,应该看到类似以下的输出:

SHOW GRANTS FOR 'marketing_analyst'@'localhost';
+--------------------------------------------------------------------------------------------------------------------------+
| Grants for marketing_analyst@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `marketing_analyst`@`localhost` IDENTIFIED BY PASSWORD '*63CC12793CD9D5CB64C4FED01CC3D4DE25848489' |
| GRANT SELECT ON `marketing_db`.* TO `marketing_analyst`@`localhost`                                                      |
+--------------------------------------------------------------------------------------------------------------------------+
✨ 查看解决方案并练习

总结

在这个挑战中,你练习了创建一个具有特定访问限制的 MySQL 用户。展示的技能包括创建用户账户、设置连接限制以及在数据库级别授予适当的权限。这些基本的安全实践对于维护数据库系统中的适当访问控制至关重要。