前言
AliSQL 在 2016 云栖大会宣布开放源代码之后,迅速就获得了广泛的关注,目前(2016-10-23) star 数目已达 1187,欢迎访问 AliSQL GitHub 项目关注。社区反应也非常活跃,在 Issue 中提了不少反馈建议,其中有一部分是和编译安装相关的,因为官方目前并没有提供 binary,有同学可能没有 GNU/Linux 环境下编译代码的经验,导致不能直接使用。针对这个问题,本文提供一个非官方 (unofficial) 的编译指导,希望对大家有所帮助。
目前只提供使用最普遍的 GNU/Linux 发行版 Ubuntu 和 CentOS 的编译指导。
Ubuntu 16.04
-
编译环境准备
编译需要
gcc >= 4.7, cmake >= 2.8
,16.04 apt 源里的版本 (gcc = 5.4, cmake = 3.5) 已经够用了,直接安装使用。apt-get update -y apt-get install git gcc g++ cmake -y apt-get install bison libncurses5-dev zlib1g-dev libssl-dev -y
-
从 GitHub clone 代码
git clone https://github.com/alibaba/AliSQL.git
-
cmake 配置
MySQL 有非常多的 cmake 参数,大家可以参考官方这个页面,这里的配置只是个参考,大家根据需要修改:
cmake . \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_INSTALL_PREFIX="/opt/alisql" \ -DWITH_EMBEDDED_SERVER=0 \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_CSV_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_TOKUDB_STORAGE_ENGINE=1
-
编译安装
make -j4 && make install
-j4
表示开 4 个并发编译进程,加速编译,根据机器 CPU 核数调整,一般是 CPU 核数 + 1,最终二进制安装在/opt/alisql
目录下。
CentOS 6.8
-
编译环境准备
CentOS 和 Ubuntu 环境的区别就在这一步,CentOS yum 源里的 gcc 版本是 4.4 的,不满足需求,可以通过我之前介绍过的 devtoolset 来安装高版本 gcc,devtoolset 目前最新套装是 devtoolset-4,包含 gcc 5.2。
yum install centos-release-scl -y yum install devtoolset-4-gcc-c++ devtoolset-4-gcc -y yum install cmake git -y yum install ncurses-devel openssl-devel bison -y
-
从 GitHub clone 代码
git clone https://github.com/alibaba/AliSQL.git
-
cmake 配置
在配置前,要先设置下环境变量,这样才能用到 devtoolset-4 套装里的gcc。
scl enable devtoolset-4 bash cmake . \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_INSTALL_PREFIX="/opt/alisql" \ -DWITH_EMBEDDED_SERVER=0 \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_CSV_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_TOKUDB_STORAGE_ENGINE=1
-
编译安装
make -j4 && make install
玩的开心 ^_^ !