AliSQL源码编译

前端之家收集整理的这篇文章主要介绍了AliSQL源码编译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 安装

该部分整理自山羊博客AliSQL 源码编译,致敬!

1.1 编译环境准备(CentOS 6.7)

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

1.2 从 GitHub clone 代码

git clone https://github.com/alibaba/Alisql.git

1.3 cmake 配置

在配置前,要先设置下环境变量,这样才能用到 devtoolset-4 套装里的gcc。更多cmake参数

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

1.4 编译安装

make -j4 && make install

1.5 添加环境变量

export PATH=/opt/alisql/bin:$PATH

1.6 Disabling Transparent Hugepages for TokuDB

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

2. 启动

# 添加MysqL组+用户
groupadd MysqL
useradd -M -s /sbin/nologin -g MysqL MysqL
mkdir -p /data/alisql
chown -R MysqL:MysqL /data/alisql

# MysqL_install_db设置的datadir必须跟/etc/my.cnf里的datadir相同,否则报错([ERROR] Fatal error: Can't open and lock privilege tables: Table 'MysqL.user' doesn't )
# http://blog.csdn.net/leshami/article/details/41801395
cd /opt/alisql
scripts/MysqL_install_db  --user=MysqL --datadir=/data/alisql

cp /opt/alisql/support-files/my-default.cnf /etc/my.cnf

sed -i '/^\[MysqLd\]$/{
a\
basedir = /opt/alisql
a\
datadir = /data/alisql
a\
port = 3306
}' /etc/my.cnf

# 方法1: 直接运行MysqLd_safe
/opt/alisql/bin/MysqLd_safe
# 方法2: 使用service启动
cp support-files/MysqL.server /etc/init.d/MysqLd
service MysqLd start

3. 关闭

# 方法1: 直接运行MysqLadmin
/opt/alisql/bin/MysqLadmin -uroot shutdown
# 方法2: 使用service方式关闭
service MysqLd stop

4. Help

/opt/alisql/bin/MysqL --help --verbose

参考

  1. AliSQL 源码编译
  2. CentOS 下编译安装AliSQL
  3. Disabling Transparent Hugepages for TokuDB
  4. AliSQL Github

猜你在找的CentOS相关文章