2012-02-08 101 views
1

假设有一个当前连接到数据库的MySQL用户alice。假设另一个用户bob在她还在工作时删除了alice。会发生什么?将bob失败? alice会立即断开吗?她的下一个查询会收到错误消息吗?还是她能像平常一样完成她的会议?如果用户在连接到MySQL时被删除,会发生什么?

+3

简单到足以尝试...启动两个监视器会话,看看会发生什么。 – 2012-02-08 12:41:58

+4

我认为它可以很容易地由自己测试 – Skyrel 2012-02-08 12:42:46

+0

@Septagram告诉我们结果! – glglgl 2012-02-08 12:49:13

回答

3

12.7.1.2. DROP USER Syntax

DROP USER不会自动关闭所有打开的用户会话。相反,如果具有打开会话的用户被删除,则在该用户的会话关闭之前,该语句才会生效。会话关闭后,用户将被丢弃,并且该用户下次尝试登录时将失败。 这是设计

...和5.4.6. When Privilege Changes Take Effect它的主题相关:

如果你修改授权表间接使用账户管理语句,如GRANTREVOKE,或者SET PASSWORD,服务器注意到这些变化,并加载立即再次将表格存入内存。

+0

嗯...我测试了它,看起来REVOKE在连接时不会影响用户,就像DROP USER不会。 – Septagram 2012-02-28 15:29:36

相关问题