一、MySQL的主從切換在什么情況下使用
主從切換一般在如下情況下才進行:
1、例行的主庫重啟,主庫運行一段時間后需要將主庫進行重啟掃盤,降低主庫死機的風險;
2、主庫異常情況下切到從庫。
3、分機房網絡調整涉及到主庫的情況。
你的情況要看宕掉后的情況。如果有期間同步延遲,需要另外進行處理。
在開始切換之前先對主庫進行鎖表:
flush tables with read lock
(在執行完成后生產環境必須等待所有語句執行完成)
在flush tables with read lock成功獲得鎖之前,必須等待所有語句執行完成(包括SELECT)。所以如果有個慢查詢在執行,或者一個打開的事務,或者其他進程拿著表鎖,flush tables with read lock就會被阻塞,直到所有的鎖被釋放。
延伸閱讀:
二、什么是數據庫和數據庫管理系統
數據庫的應用非常廣泛,舉個例子,我們平時在瀏覽器上搜索內容,就要用到數據庫去檢索我們的關鍵字。以前我們可能會用數組、集合、文件等來存儲數據,但是接下來我們就會面臨一個問題,當存儲的數據或內容過多的時候,我們如何去精準的找到我們需要的東西,這時候數據庫管理系統就派上了用場。除此之外,數據庫管理系統還能永久的儲存我們的數據。
為了便于大家理解,這里先給大家講解幾個概念
DB數據庫(database):存儲數據的“倉庫”。它保存了一系列有組織的數據。
DBMS數據庫管理系統(Database Management System):數據庫是通過DBMS創建和操作的容器。
SQL,結構化查詢語言(Structured Query Language)用一句話概括,SQL是一種特殊目的的編程語言,一種專門用來與數據庫通信的語言。在數據庫中,數據被結構化并存儲在不同的表中,從而簡化了訪問,更新和操作數據的過程。該表由列和行組成。數據庫中的表可以在關系的幫助下進行連接。要在數據庫中執行與數據相關的任務,可以使用SQL。SQL代表結構化查詢語言,旨在在特定RDBMS內創建,修改和管理數據庫中的數據。
SQL優點:
1、不是某個特定數據庫供應商專有的語言,幾乎所有DBMS(數據庫管理系統)都支持SQL
2、簡單易學
3、雖然簡單,但實際上是一種強有力的語言,靈活使用其語言元素,可以進行非常復雜和高級的數據庫操作。