0
我想從休眠狀態鎖定整個mysql數據庫,我的意思是把所有的表都置於讀取模式。例如:將整個mysql數據庫從休眠狀態鎖定
FLUSH TABLES WITH READ LOCK;
然後解鎖數據庫,總是通過休眠。
我想從休眠狀態鎖定整個mysql數據庫,我的意思是把所有的表都置於讀取模式。例如:將整個mysql數據庫從休眠狀態鎖定
FLUSH TABLES WITH READ LOCK;
然後解鎖數據庫,總是通過休眠。
恕我直言,這種方法是不可取的。在獲取所有表上的讀鎖後(可通過解析information_schema.tables
表輕鬆完成),後續嘗試寫入數據庫的操作將保持到它們超時。
此外,會話獲取的所有鎖都在會話結束時釋放。鎖定會話需要保持活動狀態才能保持鎖定狀態。
作爲替代方案,我會建議撤銷應用程序連接的用戶的寫入權限。要做到這一點,請參考this previous answer of mine。或者也許你可以有兩個用戶,一個擁有所有的權限,另一個只擁有讀權限。當您想將應用程序置於只讀模式時,只需切換用戶即可。