首頁  >  文章  >  資料庫  >  解析mysql的啟動過程

解析mysql的啟動過程

怪我咯
怪我咯原創
2017-04-01 10:46:421090瀏覽

有一天,兩個不懂mysql核心的人想去了解mysql核心程式碼,兩個人不是去調試程式碼、找資料,而是在那邊思考。因為不了解內核,所以邊思考邊去驗證。
使用的mysql程式碼是5.1.7,偵錯環境是windows平台下的vs2003。
Bingxi:「alex,你覺得mysql的啟動過程會是什麼樣的呢?我們以銀行為例吧。」
Alex:「嗯,bingxi。早上銀行開門了,會先準備好環境,然後開門迎客,mysql也是這樣。了都會取個號,然後就會進行業務處理。 )將排號的人丟進工作佇列,根據叫號機到指定視窗取得服務。個限制,所謂的最大連接數,這樣的情況常見於互聯網行業,相應地我們可以看到機器的負載變化範圍特別大。型sql語句),同時處理的話,機器會支撐不住,這時候第二種方法就比較好,這種情況屬於事務性場景。 ,oracle提供兩種方法供選擇。 #

pthread_handler_t handle_connections_sockets(void *arg attribute((unused)))

{

  ……

  while (!abort_loop)

  {

    select((int) max_used_connection,&readFDs,0,0,0) < 0) //有连接了则往下来执行,否则一直等待

    ……

    accept(sock, my_reinterpret_cast(struct sockaddr *) (&cAddr),&length)  //接受请求

    ……

    create_new_thread(thd);

  }

  //abort_loop=1,则执行到这里进行推出。今天业务不处理了

}
Bingxi:「嗯,老楊。是否理解銀行為客戶分配了一個服務人員,在這段期間一直為該客戶服務。裡面有個代碼段,是一直在等用戶下指令。取得指令,然後執行指令。

以上是解析mysql的啟動過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn