我创建了一个bash脚本,其中包括从MySQL数据库收集一些数据。我的MySQL用户具有写权限,但出于安全原因,我想暂时将其设置为只读状态。是否可以从命令行执行此操作?如何通过命令行将MySQL临时设置为只读?
回答
要回答你原来的问题,你可以把你的整个数据库为只读模式这个命令:
FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = 1;
,并回到正常模式与:
SET GLOBAL read_only = 0;
UNLOCK TABLES;
请注意,这是一个对数据库行为有深远影响的操作。因此在执行此操作之前,请阅读上述命令的可用文档。更常见的方法是撤销特定用户的DML权限,然后授予他们。
最佳答案,如果OP真的希望将整个数据库设置为只读模式。标题和实际问题令人困惑。无论如何,+1是最简单的解决方案。 – fancyPants
为了节省其他人的一些搜索,以下是我在玩这些之前阅读的内容:[read_only global](https://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_read_only)(包括提及'FLUSH TABLES WITH READ LOCK;')和[使用它们进行备份](http://docs.oracle.com/cd/E17952_01/refman-5.5-en/replication-solutions-backups-read-only。 HTML)。 – sage
我做了上述方法后,我的数据库只保持在读写模式。 – Phoenix
好吧,如果用户现在拥有的一切特权首先,你需要撤销这个
$>mysql -u DB_USER -pDB_PASS --execute="REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'YOUR_USER';"
之后,你给他,选择的权限
$>mysql -u DB_USER -pDB_PASS --execute="GRANT SELECT ON 'YOUR_DATABASE'@.* TO 'YOUR_USER'@'%';FLUSH PRIVILEGES;"
做你的东西,之后再次授予用户特权
$>mysql -u DB_USER -pDB_PASS --execute="GRANT ALL ON 'YOUR_DATABASE'@.* TO 'YOUR_USER'@'%';FLUSH PRIVILEGES;"
而这就是所有人
注意:评论的报价,也许我忘了件事
如果您使用MySQL 5.6或更新版本和InnoDB,则可以使会话为只读。
SET SESSION TRANSACTION READ ONLY;
https://dev.mysql.com/doc/refman/5.6/en/set-transaction.html
“只读” 还提供了一个温和的performance benefit。
- 1. 如何通过命令行运行/ bin/bash时将$ TERM设置为一个值?
- 2. 如何通过命令行设置IIS6设置
- 3. mysql命令通过发行
- 4. xcodebuild - 通过命令行设置证书
- 5. 通过命令行设置CURLOPT_FRESH_CONNECT
- 6. 如何通过命令行配置Eclipse?
- 7. 如何通过命令行工具保存配置设置
- 8. 如何通过命令行通过mysql运行单个查询?
- 9. 如何通过设置变量从Java执行命令行
- 10. 如何将FCKEditor设置为只读?
- 11. MySQL通过命令行变量设置密码
- 12. 如何通过命令行
- 13. 如何通过命令行
- 14. 如何通过命令行
- 15. 如何通过命令行
- 16. 如何从命令行设置时区?
- 17. QtableView将整行设置为只读
- 18. 将asptextbox设置为只读
- 19. 如何设置元素为只读通过点击
- 20. 如何在量角器中通过命令行设置IEDriverServer.exe
- 21. 如何通过命令行设置日志级别
- 22. 如何通过命令行参数设置NSDictionary用户默认?
- 23. 如何通过命令行安装和设置LDAP?
- 24. 如何通过命令行在jenkins中设置jnlp端口?
- 25. 如何通过命令行设置VC++动态链接?
- 26. 如何通过命令行设置Jekyll的baseurl?
- 27. URL工作,直到我通过命令行设置它为process.env.MONGOLAB_URI
- 28. 如何通过Ruby设置命令行值以通过PS查看状态?
- 29. 通过mysql的临时表
- 30. 如何设置“自动检测设置”代理通过命令行?
更改用户,也许? – Strawberry
在dba.sc有一个类似的问题(与答案):http://dba.stackexchange.com/questions/74670/revoke-write-privileges-vs-setting-database-to-readonly – Bass