使用SHOW GRANTS语句查看newAdmin的权限信息。 查看newAdmin账户的权限信息,输入语句如下: SHOW GRANTS FOR 'newAdmin'@'localhost'; 执行结果如下:
+-----------------------------------------------------------------------------------------------------------------------+ | |
+-----------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'newAdmin'@'localhost' IDENTIFIED BY PASSWORD '*2B602296
A79E0A8784ACC5C88D92E46588CCA3C3' WITH MAX_CONNECTIONS_PER_HOUR 30 |
| GRANT SELECT, UPDATE (age, id, name) ON `test`.`person` TO 'newAdmin'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
使用newAdmin用户登录MySQL。
退出当前登录,使用EXIT命令,语句如下: MySQL> exit Bye
使用newAdmin账户登录MySQL,语句如下: C:\\>MySQL -u newAdmin -p Enter password: ***
输入密码正确后,出现“mysql>”提示符,登录成功。
使用newAdmin用户查看test_db数据库中person_dd表中的数据。
newAdmin用户被授予test数据库中person表中3个字段上的查询权限,因此
Grants
for
newAdmin@localhost
可以执行SELECT语句查看这几个字段的值,执行过程如下: MySQL> SELECT * FROM test_db.person_dd LIMIT 5; +----+----------+-----+--------------+ | id | name | age | info | +----+----------+-----+--------------+ | 1 | Green | 21 | Lawyer | | 2 | Suse | 22 | dancer | | 3 | Mary | 24 | Musician | | 4 | Willam | 20 | sports man | | 5 | Laura | 25 | NULL | +----+----------+-----+--------------+ 5 rows in set (0.00 sec)
可以看到,查询结果显示了表中的前5条记录。
使用newAdmin用户向person_dd表中插入一条新记录,查看语句执行结果。 插入新记录,输入语句如下:
INSERT INTO test_db.person_old(name, age,info) VALUES('gaga', 30); 执行结果如下:
ERROR 1142 (42000): INSERT command denied to user 'newAdmin'@'localhost' for table 'person'
可以看到,语句不能执行,错误信息表明newAdmin用户不能对person表进行插入操作。因此,用户不可以执行没有被授权的操作语句。
退出当前登录,使用root用户重新登录,收回newAdmin账户的权限。 输入退出命令: exit
重新以root用户登录MySQL,并选择mysql数据库为当前数据库。 输入语句收回newAdmin账户的权限,执行过程如下:
REVOKE SELECT, UPDATE ON test.person FROM 'newAdmin'@'localhost'; 执行结果如下:
MySQL> REVOKE SELECT, UPDATE ON test.person FROM 'newAdmin'@'localhost'; Query OK, 0 rows affected (0.00 sec)
删除newAdmin的账户信息。
删除指定账户,可以使用DROP USER语句,输入如下: DROP USER 'newAdmin'@'localhost';
语句执行成功之后,tables_priv和columns_priv中相关的记录将被删除。