管理一个MYSQL数据库,那么准确地理解GRANT命令的作用及其工作原理是非常有意义的。
想了解如何创建用户,以及使用GRANT命令实现用户权限的授予;如果要管理一个MYSQL数据库,那么准确地理解GRANT命令的作用及其工作原理是非常有意义的。
当执行一条GRANT语句的时候,它会影响一个名为mysql的特殊数据库。权限信息就是保存在这个数据库的6个表中。这样,当对数据库授予权限的时候,就应该注意是否授予了访问mysql数据库的访问权限。
以管理员身份登录的,输入如下命令,我们就可以看到mysql数据库的内容:
Use mysql;show tables;
这个数据库的数据表如下所示:
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
以上每个表都存储了关于系统的信息。保存权限信息的6个表分别是:user、host、db、 tables_priv和columns_priv以及procs_priv。有时,这些表也称为授权表(grant tables)。
这些表的具体用途各不相同,但它们的基本用途都是相同的,都可以用来确定用户身份以及是否允许执行特定操作。这些表都包含两种类型的字段:范围字段,它可以指定用户、主机和数据库的一部分;权限字段,它可指定该用户在该范围内可以执行哪些操作。
想了解更多有关GRANT命令的工作原理请来深腾网。