mysql主函数main()在/sql/main.cc 里,main.cc里调用mysqld_main()函数,mysqld_main函数在/sql/mysqld.cc里
int mysqld_main(int args,char **argv) 在4783行开始mysqld_main()函数实现。有对不同平台的实现,如windows平台
通过文件执行全部命令
static void bootstrap(MYSQL_FILE * file)
读取配置文件
static bool read_init_file(char * file_name)
捕获一个连接,然后产生一个进程去运行他们
void handle_connections_sockets()
初始化普通参数
static int init_common_variables()
{
char buff[FN_REFLEN];
umask(((~my_umask) & 0666));
my_decimal_set_zero(&decimal_zero); // set decimal_zero constant;
tzset(); // Set tzname
max_system_variables.pseudo_thread_id= (ulong)~0;
server_start_time= flush_status_time= my_time(0);
rpl_filter= new Rpl_filter;
binlog_filter= new Rpl_filter;
if (!rpl_filter || !binlog_filter)
{
sql_perror("Could not allocate replication and binlog filters");
return 1;
}
if (init_thread_environment() ||
mysql_init_variables())
return 1;