一直以为Mysql的用户权限都是放在mysql.user里边的.
其实并不是这样的.user表放置的是用户的全局权限,当你为某个用户分配库权限,表权限的时候,情况就不是这样了.
当你为用户分配一个库权限时,mysql.user表中会多出来一条数据,但是这个用户的所有权限都是N.
同时mysql.db表会增加一条记录,用户对该库的权限会在这里记录.
而当你revoke这个用户的权限后,如果该用户对该库的权限全部变成了N,那么该用户的记录会被移出mysql.db表.
当然,一般情况下你并不需要关心这些,我只是在写单元测试的时候,用到了这个很偏门的知识而已.现在想想其实用用户帐号链接操作然后被拒绝后检查错误提示更靠谱一点…