CentOS 7.2编译安装MariaDB-10.0.xx

使用jemalloc对MySQL内存进行优化。

附件可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

具体下载目录在 /2017年资料/10月/8日/CentOS 7.2编译安装MariaDB-10.0.xx/

------------------------------------------分割线------------------------------------------


安装jemalloc

[root@mysql src]# tar xf jemalloc-4.2.0.tar.bz2
[root@mysql src]# cd jemalloc-4.2.0
[root@mysql jemalloc-4.2.0]# ./configure --prefix=/usr/local/jemalloc
[root@mysql jemalloc-4.2.0]# make && make install
[root@mysql jemalloc-4.2.0]# echo '/usr/local/jemalloc/lib/' > /etc/ld.so.conf.d/local.conf
[root@mysql jemalloc-4.2.0]# ldconfig
[root@mysql jemalloc-4.2.0]# ln -vs /usr/local/jemalloc/lib/libjemalloc.so.2 /usr/local/lib/libjemalloc.so

安装mariadb

[root@mysql src]# tar xf mariadb-10.0.30.tar.gz
[root@mysql src]# cd mariadb-10.0.30
[root@mysql mariadb-10.0.30]# yum install cmake openssl-devel zlib-devel ncurses-devel -y
[root@mysql mariadb-10.0.30]# mkdir -pv /data/mysql/{data,bin_log,run,log,tmp}
[root@mysql mariadb-10.0.30]# groupadd -g 3306 mysql
[root@mysql mariadb-10.0.30]# useradd -u 3306 -g 3306 -s /sbin/nologin -M mysql
[root@mysql mariadb-10.0.30]# cmake . -LH
[root@mysql mariadb-10.0.30]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DTMPDIR=/usr/local/mysql/tmp \
-DMYSQL_UNIX_ADDR=/data/mysql/run/mysqld.sock \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1  \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1  \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1  \
-DWITH_TOKUDB_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1  \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_SPHINX_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1  \
-DWITH_EXTRA_CHARSETS=all \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
-DWITH_SAFEMALLOC=OFF \
-DWITH_DEBUG=0 \
-DENABLE_PROFILING=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0

说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      # 安装根目录
-DMYSQL_DATADIR=/data/mysql/data \         # 数据存储目录
-DTMPDIR=/data/mysql/tmp \              # 临时文件存放目录
-DMYSQL_UNIX_ADDR=/data/mysql/run/mysqld.sock \    # UNIX socket文件
-DSYSCONFDIR=/etc \                            # 配置文件存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 \           # Myisam 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1  \      # innoDB 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \           # ARCHIVE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1  \    # BLACKHOLE 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \    # PERFSCHEMA 引擎支持
-DWITH_FEDERATED_STORAGE_ENGINE=1  \    # FEDERATEDX 引擎支持
-DWITH_TOKUDB_STORAGE_ENGINE=1 \        # TOKUDB 引擎支持
-DWITH_XTRADB_STORAGE_ENGINE=1  \        # XTRADB 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1 \            # ARIA 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \    # PARTITION 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1 \        # SPHINX 引擎支持
-DWITH_READLINE=1 \                    # readline库
-DMYSQL_TCP_PORT=3306 \                # TCP/IP端口
-DENABLED_LOCAL_INFILE=1  \            # 启用加载本地数据
-DWITH_EXTRA_CHARSETS=all \            # 扩展支持编码 ( all | utf8,gbk,gb2312 | none )
-DEXTRA_CHARSETS=all \                    # 扩展字符支持
-DDEFAULT_CHARSET=utf8 \                # 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \    # 默认字符校对
-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \ # Jemalloc内存管理库
-DWITH_SAFEMALLOC=OFF \                # 关闭默认内存管理
-DWITH_DEBUG=0 \                        # 关闭调试模式       
-DENABLE_PROFILING=1 \                    # 启用性能分析功能
-DWITH_SSL=system \                        # 使用系统上的自带的SSL库
-DWITH_ZLIB=system \                    # 使用系统上的自带的zlib库
-DWITH_LIBWRAP=0                        # 禁用libwrap库

半个小时的等待。。。

其他参数请自行调整。

OK, 启动成功。

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

查看jemalloc是否生效:

猜你喜欢

转载自www.linuxidc.com/Linux/2017-10/147345.htm