InnoDB Plugin安装

2010-03-22  |  20:47分类:MySQL  |  标签:  |  

InnoDB Plugin较之Built-in版本新增了很多特性:包括快速DDL、压缩存储等,而且引入了全新的文件格式Barracuda。众多测试也表明,Plugin在很多方面优于Built-in版本。当前Plugin版本是1.0.6,一个RC版本。MySQL的官方版本中从5.1.42开始也内置了InnoDB Plugin1.0.6。

这里简单的介绍InnoDB Plugin的编译安装

1. 下载源码

这里使用MySQL5.1.45和InnoDB Plugin1.0.6版本安装。需要单独下载MySQL和InnoDB Plugin的源码:MySQL Community ServerInnoDB Plugin

2. 解压并替代源码

我们需要使用下载的Plugin源码代替MySQL源码中的storage/innobase目录。

tar zxvf mysql-5.1.45.tar.gz $tar zxvf innodb_plugin-1.0.6.tar.gz $rm -rf mysql-5.1.45/storage/innobase $mv innodb_plugin-1.0.6 mysql-5.1.45/storage/innobase

3. 编译并安装

$./configure --prefix=/opt/mysql --with-extra-charsets=all \ >--with-plugins=csv,innobase,myisam,heap $make && make install $cd /opt/mysql $./bin/mysql_install_db --basedir=/opt/mysql #初始化数据(权限表等) $vi /etc/my.cnf #初始化你的配置文件 $./bin/mysqld_safe & #启动数据库

这里需要注意的是,如果想使用InnoDB的Barracuda文件格式,需要在配置文件my.cnf新增:

loose_innodb_file_format=barracuda
loose_innodb_strict_mode=1

4. 查看版本

安装完成后,可以通过如下命令查看当前版本:

root@(none) 10:49:15>select @@innodb_version; +------------------+ | @@innodb_version | +------------------+ | 1.0.6 | +------------------+ 1 row in set (0.00 sec) root@(none) 10:51:10>show plugins; ......

5. 更多关于安装

上面演示的是使用InnoDB Plugin源码覆盖MySQL源码(./storage/innobase)的方式安装。事实上,还可以使用MySQL5.1.45自带的InnoDB Plugin代码安装,无需再单独下载InnoDB Plugin源码。这种安装,会同时安装两个InnoDB版本:Built-in和Plugin,启动时需要特别注意。

5.1 直接解压MySQL并编译安装

$./configure --prefix=/opt/mysql --with-extra-charsets=all \ > --with-plugins=csv,innobase,innodb_plugin,myisam,heap $make && make install $cd /opt/mysql $./bin/mysql_install_db --basedir=/opt/mysql #初始化数据(权限表等) $vi /etc/my.cnf #初始化你的配置文件

(编译参数中,with-plugins部分新增了innodb_plugin部分)

5.2 准备加载InnoDB Plugin插件

这一步是比较复杂的,为了加载Plugin,需要先将built-in禁用。首先将配置配置文件中所有innodb相关的选择注释掉(也可以使用loose前缀);然后在配置文件中添加忽略InnoDB built-in的参数:

ignore_builtin_innodb #忽略InnoDB built-in #注释InnoDB选择 #innodb_flush_method = O_DIRECT #innodb_file_per_table = 1 #innodb_flush_log_at_trx_commit = 2 #innodb_lock_wait_timeout = 100 ......
5.3 启动MySQL并加载InnoDB Plugin 这里需要登入MySQL并手动加载Plugin相关的插件:
$./bin/mysqld_safe & #启动数据库 $mysql -uroot root>INSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb_plugin.so'; root>INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb_plugin.so'

5.4 查看版本

安装完成,可以通过如下命令查看安装是否成功:
root>select @@innodb_version; +------------------+ | @@innodb_version | +------------------+ | 1.0.6 | +------------------+ 1 row in set (0.00 sec) root>show plugins; ......
喜欢本文,那就收藏到:

5条评论 关于 “InnoDB Plugin安装”

  1. 匿名 发表于: 四月 22nd, 2010 14:19

    在--with-plugins 选中innodbase就行了 为什么还要选上innodb_plugin了?

  2. orczhou 发表于: 四月 22nd, 2010 17:27

    只有第二种安装方式需要加上innodb_plugin;如果只加innodbase的话,只会编译built-in版本。

  3. 弦乐之花 发表于: 五月 7th, 2010 23:48

    加与不加innodb_plugin一样的,这个只能编译成动态链接库,不能静态编译到mysqld里面的,所以仔细看configue输出信息的话会发现相关warning的。

  4. 锁的调试 - 林部落 发表于: 七月 6th, 2010 13:26

    [...]  http://www.orczhou.com/index.php/2010/03/innodb-plugin-setup/ 七月 6, 2010 :-)看完了想说点什么呢? [...]

  5. » Linux下使用源代码编译方式安装MySQL [Java堂] 发表于: 二月 7th, 2014 16:48

    […] Linux操作系统下三种配置环境变量的方法 InnoDB Plugin安装 Building the InnoDB Plugin from Source […]


发表您的评论