MySQL启动过程的关键代码位于sql/mysqld.cc中。简化后的主要代码如下:标准入口函数int main(int argc, char **argv);调用mysys/My_init.c中的my_init()初始化mysql内部系统库;初始化日志功能logger.init_base();调用load_defaults(conf_file_name, groups, &argc, &argv)读取配置信息init_common_variables(MYSQL_CONFIG_NAME, argc, argv, load_default_groups);检测启动时的用户选项user_info = check_user(mysqld_user)并设置以该用户运行set_user(mysqld_user, user_info);初始化内部组件如table_cache, query_cache等init_server_components();初始化网络模块并创建socket监听network_init();创建pid文件并删除tmp_table或初始化数据库级别的权限mysql_rm_tmp_tables() || acl_init(opt_noacl);初始化mysql中的status变量init_status_vars();创建manager线程并处理新连接handle_connections_sockets()。