mysqld是SQL后台程序(即MySQL服务器)。要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。
//Linux下入口函数
int mysqld_main(int argc, char **argv){
...... //初始化操作
//循环连接
mysqld_socket_acceptor->connection_event_loop();
......//结束操作
}
//连接接受器循环以接受来自客户端的连接
void connection_event_loop() {
//初始化连接句柄
Connection_handler_manager *mgr = Connection_handler_manager::get_instance();
while (!connection_events_loop_aborted()) {
//监听连接事件
Channel_info *channel_info = m_listener->listen_for_connection_event();
//处理一个新的连接
if (channel_info != NULL)
mgr->process_new_connection(channel_info);
}
}