您的位置:首页 > 数据库 > MySQL

动态编译MySQL plugin

2013-12-28 18:20 357 查看
经常会有人问安装完了mysql,但是以前没有安装XXX 引擎,现在需要在线动态加载。
对于此问题我自根据自己的工作总结了下:1.使用源码编译的,默认innobase没有被编译进来;使用二进制包安装的,在启动前,在my.cnf里面加入skip-innodb或是ignore_builtin_innodb。2.使用源码编译时,不能使用--with-mysqld-ldflags=-all-static选项,以静态方式编译库,当show global variables like 'have_%';的时候,输出有一项是have_dynamic_loading将是NO,这就决定mysql是否支持动态加载plugin;而二进制包安装的mysql,就是动态编译的,支持动态加载plugin,这项为Yes.



这种就不支持动态加载。下面的就支持动态加载:











上面的是没有编译时没有用静态编译,如果上面的plugin_dir = /usr/local/mysql/lib/plugin/ 下没有,则拷贝对应的文件到这个目录下。选择对应的innodb plugin版本,并将其放到plugin_dir下面,plugin的版本和MySQL库的对应表如下

工作中需要查看编译时指定了哪些参数:
1、nginx编译参数:
#/usr/local/nginx/sbin/nginx -V
2、apache编译参数:
# cat $APACHE_HOME/build/config.nice
3、php编译参数:
# /usr/local/php/bin/php -i |grep configure
4、mysql编译参数:
# grep configure /usr/local/mysql/bin/mysqlbug
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息