最新消息:

动态加载Innodb Plugin

Innodb admin 2512浏览 0评论

曾经写过一篇关于XtraDB的体验篇的文章,里面曾提到我们可以动态将XtraDB加载到运行的MySQL中;MySQL中引擎我们都可以把它看作是一个个功能各异的插件(plugin),可以根据需要来加载卸载禁用启用,相当的方便灵活,只要你想你也可以写自己的ENGINE,然后把它加载进来,而这个plugin也是正是MySQL独特的地方所在。当初也就是那么一提,并没有具体操作怎么就动态把一个plugin加进来。而这次也是工作中碰到了,必须要这么做,其实,就是一句命令的事情,但是还有些细小的东西需要注意一下,下面说两句。
故事是这样的,这周的一天早,照例打开cacti扫一眼数据的负载以及运行情况。当我打开评论的那组的监控时,发现主库的mysql模板,清一色的nan,不出图了,乖乖之前不是好好的吗,谁动了,没改什么呀,我的脑子飞速回忆,同时,查看cacti的配置和主库上snmp.conf以及cacti用户权限,没有什么不对的地方,也通过手动执行命令去获取相应数据,测试了几个图,结果返回值都是-1,看log,求助大侠们,忙乎半天还是没有找到原因。一个有4也图,我无间点了后两页,咦!!有图呀,并不是全都没有图,发现和Innodb相关的都不出图,可能是….我查看了那个库的表结构发现,都是MyISAM的表,无语了~~但是从库相关innodb的都有图,又发现从库有一些列的表是innodb的,主从怎么会不一样呢(不许手动改从库),后来show plugins发现,主库没有编译innobase引擎,也就不支持InnoDB的表类型,即便你的sql语句engine=innodb,mysql还是会将其改成默认的myisam,而这样的语句复制到从库后就是正常所要设置的innodb的表。要知道,我们的主库是做了DRBD的,而这个架构建议数据库的引擎最好要选InnoDB,因为如有异常发生当数据库重启时innodb会自动修复,回滚失败操作。虽然一直也没有什么问题出现,但是还是需要将其调整至更加安全可靠。
动态加载Innodb Plugin,执行命令:
mysql>INSTALL PLUGIN INNODB SONAME ‘ha_innodb_plugin.so’;
mysql> show plugins;
+————+————+———————+————————-+———-+
| Name           | Status          | Type                           | Library                               | License    |
+————+————+———————+————————-+———-+
| binlog           | ACTIVE   | STORAGE ENGINE     | NULL                                | GPL        |
| partition      | ACTIVE   | STORAGE ENGINE     | NULL                                | GPL        |
| MEMORY   | ACTIVE    | STORAGE ENGINE     | NULL                               | GPL        |
| MyISAM     | ACTIVE   | […]

转载请注明:爱开源 » 动态加载Innodb Plugin

您必须 登录 才能发表评论!