Alisql源码编译安装(详细篇)

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDSClaw,2核4GB
简介: 前言 AliSQL 在 2016 云栖大会宣布开放源代码之后,迅速就获得了广泛的关注,目前(2016-10-27) star 数目已达 1187,欢迎访问 AliSQL GitHub 项目关注。社区反应也非常活跃,在 Issue 中提了不少反馈建议,其中有一部分是和编译安装相关的,因为官方目前并没有提供 binary,有同学可能没有 GNU/Linux 环境下编译代码的经验,导致不能直接

前言

AliSQL 在 2016 云栖大会宣布开放源代码之后,迅速就获得了广泛的关注,目前(2016-10-27) star 数目已达 1187,欢迎访问 AliSQL GitHub 项目关注。社区反应也非常活跃,在 Issue 中提了不少反馈建议,其中有一部分是和编译安装相关的,因为官方目前并没有提供 binary,有同学可能没有 GNU/Linux 环境下编译代码的经验,导致不能直接使用。针对这个问题,本文提供一个非官方 (unofficial) 的编译指导,希望对大家有所帮助

编译需要准备的环境 CentOS 6.5+(阿里云服务器)

编译需要 gcc >= 4.7, cmake >= 2.8 
1.安装yum源【此步骤可以省略,我用的阿里云的镜像


rpm -ivh "http://vault.centos.org/6.6/updates/x86_64/Packages/scl-utils-20120927-27.el6_6.x86_64.rpm"    #安装scl

rpm -ivh "https://www.softwarecollections.org/repos/rhscl/devtoolset-3/epel-6-x86_64/noarch/rhscl-devtoolset-3-epel-6-x86_64-1-2.noarch.rpm" #安装yum源

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

提示:由于是国外的网站 ,,所以速度可能有点慢  大家需要耐心等待 ,,现在我们来获取下Alisql 的源代码包*******

ps:可能其他服务器会需要执行:yum install devtoolset-3


wget -c https://github.com/alibaba/AliSQL/archive/master.zip

创建用户和所属组


[root@spade ~]# groupadd mysql
[root@spade ~]# useradd -M -s/sbin/nologin -g mysql -r mysql

解压 并且进入


[root@spade ~]# unzip AliSQL-master.zip
[root@spade ~]# cd AliSQL-master

改变并且使用devtoolset-4 里面的GCC 套装


[root@spade AliSQL-master ~]# scl enable devtoolset-4 bash
[root@spade AliSQL-master ~]# gcc -v
gcc version 5.2.1 20150902 (Red Hat 5.2.1-2) (GCC)  ##现在已经达到编译安装环境所需要的要求了

编译参数 ‘’大家可以自行根据mysql 5.6 官方的编译参数,,也可以参考我的。。谢谢‘’


cmake . \ 
 -DCMAKE_BUILD_TYPE="Release" \ 
 -DCMAKE_INSTALL_PREFIX="/usr/local/mysql" \
 -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 \

编译安装(根据CPU来进行调整j参数)


[root@spade AliSQL-master]# make -j4 &&make install

*****等待时间可能会有点长 耐心等待。。。。

配置并且启动


[root@spade AliSQL-master]# cd /usr/local/mysql
[root@spade alisql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  ##这一步是为了初始时数据库
[root@spade alisql]# cp ./support-files/my-default.cnf /etc/my.cnf
[root@spade alisql]# cp ./support-files/mysql.server /etc/init.d/mysqld 
[root@spade alisql]# chmod +x /etc/init.d/mysqld 
[root@spade alisql]# chowd -R mysql:mysql /usr/local/mysql  ##这一步很重要  注意看清楚*****
[root@spade alisql]# echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile   
[root@spade alisql]# source /etc/profile
[root@spade alisql]# service mysqld start
Starting MySQL..                                                                        [确定]

常见错误分析

[root@spade alisql]# service mysqld start

Starting MySQL…….The server quit without updating PID f[失败]usr/local/mysql/spade.pid).

解决原因是:
①   /usr/local/mysql跟目录需要赋予mysql权限
根据日志文件显示,首先检查运行权限,再看一下/usr/local/mysql/mysql.sock,发现/usr/local/mysql目录下并没有该文件,是否是没有权限写目录?
看到/usr/local/mysql目录是root用户,所以赋予mysql操作权限。
chown -R mysql.mysql /usr/local/mysql

② 关闭防火墙

③ 关闭selinux

ps :// 很多时候都是我们没有仔细赋予权限导致的

祝愿大家玩的开心~~~~

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
人工智能 关系型数据库 分布式数据库
现场回顾|PolarDB数据库沙龙:AI时代的数据底座
12月20日,PolarDB数据库沙龙成都站成功举办,聚焦“AI就绪的云原生数据库”与“国产化替代”主题。活动汇聚数十位开发者及生态伙伴,通过技术分享、圆桌讨论等形式,深入探讨PolarDB在Data+AI融合、多模态处理、国产化平滑迁移等方面的创新实践,助力企业智能化升级。
|
7月前
|
Web App开发 虚拟化 iOS开发
macOS Sequoia 15.7 (24G222) Boot ISO 原版可引导镜像下载
macOS Sequoia 15.7 (24G222) Boot ISO 原版可引导镜像下载
4801 0
macOS Sequoia 15.7 (24G222) Boot ISO 原版可引导镜像下载
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
132371 65
|
机器学习/深度学习 域名解析 弹性计算
阿里云ECS服务器与轻量应用服务器到底应该选择哪个?
阿里云ECS服务器与轻量应用服务器到底应该选择哪个?阿里云轻量应用服务器和云服务器有什么区别?轻量相对于ECS云服务器属于轻量级的云服务器,适合个人开发者或中小企业使用,轻量用来搭建网站应用、测试环境等单机应用,云服务器ECS是专业级云服务器,用来搭建集群类高可用、高容灾应用,科学计算、大数据分析及深度学习等应用
255 0
|
关系型数据库 MySQL 数据库
【MySQL】:超详细MySQL完整安装和配置教程
【MySQL】:超详细MySQL完整安装和配置教程
44456 5
|
存储 关系型数据库 数据库
MySQL · 引擎特性 · Infobright 列存数据库
简介 系统架构 存储引擎 优化器和执行器 数据装载和卸载 领域知识 查询优化 简单场景的示例 小结 存储结构 Data Pack Knowledge Node 数据压缩 总结 简介 Infobright 是一个面向 OLAP 场景的开源列
4419 0
|
NoSQL Linux
Linux 如何查看一个进程的堆栈
有两种方法:第一种:pstack 进程ID 第二种,使用gdb 然后attach 进程ID,然后再使用命令 thread apply all bt   第三种:strace -f -p pid  该方法和pstack类似 第四中:gcore pid ,输出core文件,gdb cmd corefile 两种方法都可以列出进程所有的线程的当前的调用栈。
6570 0
uni-app中的城市三级联动
uni-app中的城市三级联动
433 0
|
存储 定位技术 数据中心
基于ArcGIS探究剖面图的制作
基于ArcGIS探究剖面图的制作
883 1