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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值