Mysql数据库服务器性能配置优化三 — Mysql编译配置优化,XtraDB使用

这个部分的优化已经有很多文章写过了,这里就写一下重点

 

一、使用XtraDB代替原有默认的InnoDB引擎,并优化编译参数。

XtraDB引擎是percona公司对于InnoDB引擎进行改进加强后的产品,XtraDB兼容innodb的所有特性,并且在IO性能,锁性能,内存管理等多个方面进行了增强。

XtraDB的性能比默认的InnoDB好很多,相关测试文档:

XtraDB benchmarks – 1.5X gain in IO-bound load

1、percona-serverpercona公司把XtraDB集成到MySQL源码中并做了一些其他优化的集成包,有兴趣的朋友可以直接安装这个集成包,它提供了很多安装包以及基本的源码包。

我们这里主要讲讲怎么在MySQL官方源码包中集成编译XtraDB(作为生产环境还不太敢用percona-server 集成包,怕额外的功能和优化可能导致BUG)

下载MySQL官方源码包

http://dev.mysql.com/downloads/mysql/5.1.html#source

下载XtraDB源码包(percona把XtraDB的源码藏的很深,他们想推percona-server,如果下面链接失效了,朋友们自己google一下吧)

http://www.percona.com/downloads/Percona-Server-5.1/Percona-XtraDB-5.1.43-9.1/source/percona-xtradb-1.0.6-9.1.tar.gz

tar -zxf mysql-5.1.49.tar.gz

tar -zxf percona-xtradb-1.0.6-9.1.tar.gz

将MySQL原来的innodb源码重命名

cd mysql-5.1.49/storage
mv innobase innobase_bak

将XtraDB拷贝为innobase

cp -r ../../percona-xtradb-1.0.6-9.1 innobase/

创建组和用户:

 # groupadd mysql

 # useradd -g mysql mysql

编译安装MySQL

cd ../

./configure –prefix=/opt/mysql –with-extra-charsets=all –enable-assember –enable-profiling –enable-community-features –enable-local-infile -with-charset=utf8 –with-collation=utf8_general_ci -enable-thread-safe-client –without-debug -with-berkeley-db -with-zlib-dir=bundled –with-plugins=all –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –with-unix-socket-path=/tmp/mysql.sock –with-big-tables –sysconfdir=/opt/etc/mysql

重点参数说明:

    –prefix= 指定安装路径

    –with-charset=utf8 指定缺省字符集

    –with-collation=utf8_general_ci 指定缺省排序方式

    –with-extra-charsets=all 指定安装扩展字符集

    –enable-local-infile 指定允许本地导入文件

    –enable-thread-safe-client 指定线程安全模式

    –enable-assembler 允许使用汇编模式(优化性能)

    –with-client-ldflags=-all-static 静态编译

    –with-mysqld-ldflags=-all-static 静态编译,提升性能13%

    –with-unix-socket-path= 指定Unix Socket路径,本机访问提升7%

    –with-plugins=all 指定安装全部存储引擎

    –with-big-tables 指定支持超大表
         –without-debug 去除debug信息

               –sysconfdir  指定my.cnf放置的位置

make && make install

您可能还喜欢...