MySQL-5.7.17+ jemalloc下载
http://download.csdn.net/detail/u011513939/9802681
源码安装 MySQL5.7.17:
如果没有iptables CentOS6执行:
iptables -P OUTPUT ACCEPT
service iptables save
service iptables restart
CentOS7 执行
sudo yum -y install iptables-services
sudo systemctl enable iptables && sudo systemctl enable ip6tables
sudo systemctl start iptables && sudo systemctl start ip6tables
准备工作:
首先需要准备mysql的源码包,最新版本是5.7.17
下载地址为:
mysql
http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
boost
同时,mysql 5.7需要boost 1.59以及以上版本,需要在sourceforge上下载。地址为:
http://www.boost.org/users/download/
mysql性能优化jemalloc
只针对一点:使用jemalloc来替换默认的内存管理
首先我们需要从网站上下载jemalloc,官网地址:
http://www.canonware.com/jemalloc/
从github上可以下载最新的源码:
https://github.com/jemalloc/jemalloc/releases
1:编译jemalloc
将mysql-5.7.17.tar.gz boost_1_59_0.tar.gz jemalloc-4.2.1.tar.bz2上传到/usr/local/src路径
wget http://www.canonware.com/download/jemalloc/jemalloc-4.2.1.tar.bz2
yum install bzip2
cd /usr/local/src
tar xjf jemalloc-4.2.1.tar.bz2
cd jemalloc-4.2.1
./configure --libdir=/usr/local/lib
make && make install
为了保证能够找到jemalloc库,我们需要设置一下库路径,
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig //执行这个命令可以刷新库路径
我们有两种方式来使用jemalloc来优化mysql
在编译的时候加入参数:
-DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DWITH_SAFEMALLOC=OFF
或者:
my.cnf中添加配置,并重启mysql(mysql 5.5+)
[mysqld_safe]
cd /usr/lib
ln -s libjemalloc.so /usr/local/jemalloclib/libjemalloc.so
malloc-lib=