一尘不染

如何通过命令行将MySQL临时设置为只读?

mysql

我正在创建一个bash脚本,除其他外,该脚本从MySQL数据库收集一些数据。我的MySQL用户具有写权限,但是出于安全原因,我想将其临时设置为只读状态。是否可以从命令行执行此操作?


阅读 313

收藏
2020-05-17

共1个答案

一尘不染

要回答您的原始问题,您可以通过以下命令将整个数据库设置为只读模式:

FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = 1;

并通过以下方式返回正常模式:

SET GLOBAL read_only = 0;
UNLOCK TABLES;

请注意,此操作将对数据库的行为产生深远的影响。因此,在执行此操作之前,请阅读上述命令的可用文档。一种更常见的方法是撤消特定用户的DML特权,然后再将其授予。

2020-05-17