【MySQL内核系列】Centos7环境MySQL5.7源码编译教程

1.下载源码

下载带boost库的源码解压(-DDOWNLOAD_BOOST=1 为直接下载boost库),安装下面系统依赖。(Percona Software downloads for databases)

2.安装依赖

yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel readline-devel
yum install -y mysql-devel python-devel perl-JSON
python -m pip install mysql-python

3.开始编译

根据自己需要选择编译debug或release版本(DCMAKE_BUILD_TYPE参数控制):debug版本支持online debug适合内核功能调试、开发;release版本适合线上使用,二进制包相对比较小

mkdir release && cd release

cmake ../ \
    -DCMAKE_BUILD_TYPE=release                         \
    -DENABLED_PROFILING=1                                    \
    -DWITH_EXTRA_CHARSETS=all                                \
    -DWITH_ZLIB=bundled                                      \
    -DWITH_TOKUDB=0                                      \
    -DDOWNLOAD_BOOST=1                                     \
    -DWITH_BOOST=../boost                                    \
    -DWITH_SSL=system                                        \
    -DWITH_PARTITION_STORAGE_ENGINE=1                        \
    -DWITH_INNOBASE_STORAGE_ENGINE=1                         \
    -DWITH_INNODB_MEMCACHED=0                                \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1                          \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1                        \
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1                       \
    -DENABLED_LOCAL_INFILE=1                                 \
    -DWITH_EMBEDDED_SERVER=0                                 \
    -DINSTALL_LAYOUT=STANDALONE                              \
    -DCOMMUNITY_BUILD=1                                      \
    -DMYSQL_SERVER_SUFFIX=test_demo

#指定并发线程数开始编译,并发数建议设置为机器CPU核数
make -j 16  

#编译完成后,生成安装包
make package  

4.编译常见问题

1.编译过程可能出错,需要把中间文件清理干净,可以直接删除debug或release目录,如果没有单独目录,需要把CMakeCache.txt 和 CMakeFiles 删除,然后再编译。

2.建议下载源码到本地后,选建个本地git仓库,可以方便的看到自己的每个改动,以及编译过程中产生的中间文件。

3.如果没有建立git仓库,可以用比较工具对比目录,用自己修改过的目录和没修改过的目录对比看差异。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值