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

标签 mysql shell command-line readonly

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

最佳答案

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

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

然后返回正常模式:

SET GLOBAL read_only = 0;
UNLOCK TABLES;

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

关于mysql - 如何通过命令行将 MySQL 临时设置为只读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18401120/

相关文章:

mysql - SQL 查询从数据库中的 3 个表检索数据

linux - 抑制从 tcl 中的流中调用的可执行文件打开的新窗口

symfony - 如何在Symfony2命令中设置退出状态代码?

shell - 如何在 AWK 中一起打印 $1、$2 以及所有剩余参数

command-line - 用于运行 DiskPart 的批处理文件

shell - HDFS 命令行追加

php - 列出所有 MySQL 表并排除特定的表

java - 为什么eclipse中h2和mysql数据库位置不同?

php - fatal error : Call to a member function bind_param() on boolean in php while inputing String from Android app

linux - 为什么我的 awk 命令多打印一行?