鎖定前規劃的審慎措施可確保 SQL 或 MySQL 資料庫一旦轉換為唯讀狀態,即可按預期運行,並且仍可供指定使用者群組存取。這種遠見也保證了資料庫在將來需要更新或更改時可以安全地解鎖。
將資料庫設定為唯讀有一定的吸引力,這會引起 DBA 的共鳴。就好像資料庫已經成熟並準備好走向世界,不受不斷更新需求的阻礙。
當然,將資料庫設定為唯讀的原因(無論是暫時還是永久)與資料庫本身一樣多種多樣。以下是鎖定 SQL 或 MySQL 資料庫內容同時允許使用者存取其內容的方法的全面概述。
正如 Atif Shehzad 在 MSSQLTips 網站上敏銳指出的那樣,在鎖定資料庫之前,必須對其進行微調以確保最佳效能。例如,您無法更新唯讀資料庫中的統計信息,也無法建立索引或對索引進行碎片整理。此外,您無法為資料庫的物件新增擴充屬性、編輯其權限或新增/刪除使用者。
Shehzad 提供了一個細緻的八步驟預鎖定腳本,可在將資料庫轉換為唯讀之前運行。此清單涵蓋了從建立交易日誌備份到修改權限和更新統計資料的所有內容。
八步驟預鎖定清單可確保您的資料庫在切換為唯讀之前已最佳化和備份。來源:MSSQLTips。
資料庫最佳化和備份後,請使用 ALTER DATABASE [資料庫名稱] SET READ_ONLY 命令或系統預存程序 sp_dboption(建議使用前者,因為該預存程序已從最新版本的 SQL Server 中刪除)。或者,您可以在SSMS中右鍵點選資料庫,選擇屬性 > 選項,然後將資料庫只讀狀態設為True 。 SSMS 中的資料庫圖示和名稱將變更以指示其唯讀狀態。
將 MySQL 資料庫配置為唯讀的關鍵動機是防止備份過程中資料遺失。 MySQL 文件庫提供了在複製設定中備份主伺服器和從伺服器、利用全域讀鎖和操作 read_only 系統變數的全面指南。
來源
複製設定指南設想了主伺服器 (M1)、從伺服器 (S1) 和客戶端(C1 連接到 M1,C2 連接到 S1)。以下概述了有助於將主設備轉換為唯讀模式並在備份完成後將其還原到正常操作的命令。 (請注意,在某些版本中,「ENABLED」與「1」同義,「DISABLED」相當於「0」。)
初步指令將資料庫切換為唯讀,後續指令在完成備份後將其還原為正常狀態。來源:MySQL 文檔庫。
在唯讀狀態下,資料庫可以查詢,但不能修改。 StackOverflow 上 2013 年 8 月 23 日發布的一篇文章解釋瞭如何撤銷然後恢復特定用戶的 DML 權限,該策略不太可能影響整個資料庫的效能。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3