[MySQL TroubleShooting] 服务启动报错

有个朋友发了一段启动错误的stack,当启动Skip_Grant_Table就不报错:mysql

群里的大神找出来了由于udf_initv这个自定义函数报错。sql

 

可是一直想不通为啥服务启动要去运行自定义函数呢?函数

mysqld_main里面有一段代码:3d

  if (!opt_noacl)
  {
#ifdef HAVE_DLOPEN
    udf_init();
#endif
  }

 其中opt_noacl就是参数skip_grant_table,若是没有设置opt_noacl=1 不然为0 ,因此没有设置skip_grant_table,那么就会进入udf_init而后去初始化自定义函数,若是自定义函数有问题,致使服务没法启动。blog

相关文章
相关标签/搜索