我創建了一個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