在一个复杂的环境下 多个my.cnf mysql是如何加载 ?
mysql代码中找到答案
my_defalut.cc -->init_default_directories 函数中
#else
errors += add_directory(alloc, " ", dirs);
errors += add_directory(alloc, " ", dirs);
#if defined(DEFAULT_SYSCONFDIR)
if (DEFAULT_SYSCONFDIR[0])
errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
#endif /* DEFAULT_SYSCONFDIR */
#endif
if ((env= getenv("MYSQL_HOME")))
errors += add_directory(alloc, env, dirs);
/* Placeholder for --defaults-extra-file=<path> */
errors += add_directory(alloc, "", dirs);
#if !defined(__WIN__)
errors += add_directory(alloc, "~/", dirs);
#endif
可以看到代码中 目录数组是写死的 依次加载 /etc/ -->/etc/mysql/ -->环境变量-->home目录