2013-08-29 36 views

回答

0

恕我直言,这种方法是不可取的。在获取所有表上的读锁后(可通过解析information_schema.tables表轻松完成),后续尝试写入数据库的操作将保持到它们超时。

此外,会话获取的所有锁都在会话结束时释放。锁定会话需要保持活动状态才能保持锁定状态。

作为替代方案,我会建议撤销应用程序连接的用户的写入权限。要做到这一点,请参考this previous answer of mine。或者也许你可以有两个用户,一个拥有所有的权限,另一个只拥有读权限。当您想将应用程序置于只读模式时,只需切换用户即可。