1. 程式人生 > >26,MySQL 8.0參考手冊 5.1.13伺服器關閉程序

26,MySQL 8.0參考手冊 5.1.13伺服器關閉程序

  • 伺服器停止接受新的連線。


    為防止在關閉期間啟動新活動,伺服器通過關閉它通常監聽連線的網路介面的處理程式來停止接受新的客戶端連線:TCP / IP埠,Unix套接字檔案,Windows命名管道和Windows上的共享記憶體。


    伺服器終止當前活動。


    對於與客戶端連線關聯的每個執行緒,伺服器都會中斷到客戶端的連線並將該執行緒標記為已終止。執行緒在注意到它們如此標記時死亡。用於空閒連線的執行緒快速死亡。當前正在處理語句的執行緒會定期檢查它們的狀態,並花更長的時間去死。有關執行緒終止的更多資訊,請參見第13.7.7.4節“KILL語法”,特別是有關表關於終止 REPAIR TABLE或 OPTIMIZE TABLE操作 的說明MyISAM。


    對於具有開放事務的執行緒,事務將回滾。如果一個執行緒正在更新一個非事務表,一個諸如多行的操作 UPDATE或者 INSERT可能會使該表部分更新,因為該操作可能會在完成之前終止。


    如果伺服器是主複製伺服器,它將像其他客戶端執行緒一樣處理與當前連線的從屬關聯的執行緒。也就是說,每個人都會被標記為死亡,並在下次檢查其狀態時退出。


    如果伺服器是從屬複製伺服器,則在將客戶端執行緒標記為終止之前,它將停止I / O和SQL執行緒(如果它們處於活動狀態)。SQL執行緒被允許完成其當前語句(以避免導致複製問題),然後停止。如果此時SQL執行緒處於事務的中間,則伺服器將等待直到當前複製事件組(如果有)完成執行,或者直到使用者發出一個KILL QUERY或 一個 KILL CONNECTION語句。


    注意