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
参考
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。