MySQL-权限工作原理

Author Avatar
丁起男 12月 25,2020
  • 在其它设备中阅读本文章

MySQL-权限工作原理

MySQL是如何来识别一个用户的呢?

MySQL为了安全性考虑,采用主机名+用户名来判断一个用户的身份,因为在互联网中很难通过用户名来判断一个用户的身份,但是我们可以通过ip或者主机名来判断一台机器,某个用户通过这个机器过来的,我们可以识别为一个用户。

权限认证的阶段

  1. 连接数据库,此时mysql会根据你的用户名及你的来源(ip或主机名)判断是否有权限连接
  2. 对mysql服务器发起请求操作,如create table、select、delete、update、create index等操作,此时MySQL会判断你是否有权限操作这些指令

权限生效时间

用户及权限信息放在库名为mysql的库中,MySQL启动时,这些内容被读进内存并且从此时生效,所以如果通过直接操作这些表来修改用户及权限信息,需要重启MySQL或者执行flush privileges才能生效

用户登录之后,MySQL会和当前用户之间创建一个连接,此时用户相关的权限信息都保存在这个连接中,存放在内存中,此时如果有其他地方修改了当前用户的权限,这些编号的权限会在下一次登录时才会生效