参考阿里官方的AlSQL源码编译 这里给出更完整的方法
http://blog.fungo.me/2016/10/compile-alisql-from-source/
ps:阿里开源数据库详情介绍:
http://www.oschina.net/p/alisql
1.编译环境的准备
yum install centos-release-scl -y
yum install devtoolset-4-gcc-c++ devtoolset-4-gcc -y
#安装cmake编译工具
yum install cmake git -y
yum install ncurses-devel openssl-devel bison -y
2.从github上克隆代码
git clone https://github.com/alibaba/AliSQL.git
3.cmake 配置
在配置前,要先设置下环境变量,这样才能用到 devtoolset-4 套装里的gcc。
1.
scl enable devtoolset-4 bash
2.
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
4.编译安装
make -j4 && make install
5.创建组 和 用户
groupadd mysql
#建立系统帐号mysql 并 指定用户所属的起始群组 mysql
useradd -r -g mysql mysql
6.更改alisql目录的用户和群组
cd /opt
chown -R mysql:mysql alisql
7.初始化并安装数据库
alisql 中有一种特殊的数据库引擎
mysql> show engines;
这里我们需要对这个引擎进行一个初始化
1)开启TokuDB 这个不设置服务器不来(我这里是这样的)
#不执行会提示:[ERROR] TokuDB: Huge pages are enabled, disable them before continuing
#可以在启动服务后vim /opt/alisql/data/localhost.localdomain.err 查看相关信息
echo never > /sys/kernel/mm/transparent_hugepage/enabled
2)安装数据库
cd /opt/alisql
scripts/mysql_install_db --user=mysql --datadir=/opt/alisql/data --basedir=/opt/alisql
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
8.修改配置文件
vim /etc/init.d/mysql
#改下面这两个 之后wq!保存退出
basedir=/opt/alisql
datadir=/opt/alisql/data
9.配置环境变量
#在最后添加
export MYSQL_HOME="/opt/alisql"
export PATH="$PATH:$MYSQL_HOME/bin"
#保存退出 让环境变量生效
source /etc/profile
10.设置开机自启并启动服务
chkconfig --add mysql
chkconfig mysqld on
service mysql start
11.结束
[root@localhost alisql]# service mysqld start
/etc/init.d/mysqld: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Starting MySQL. SUCCESS!
12.与传统MySQL的差别初探
鉴于:笔者 也刚开始接触AliSQL ,自己的体会心得
1.存储引擎方面的不同 阿里有自己的存储引擎,
2.还有就是索引优化方面、这里笔者也是正在学习,后面会总结心得。