当前位置: 首页 > 编程日记 > 正文

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

前言

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"    #安装sclrpm -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 -yyum 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 :// 很多时候都是我们没有仔细赋予权限导致的

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

相关文章:

如何给DataGrid添加自动增长列

作者: cuike519的专栏 http://blog.csdn.net/cuike519/我想我们都知道在数据库中如何添加自增长列,我们可以将这个自增长列绑定到DataGrid上使得用户方便的知道现在是第几行,今天我介绍一种不用数据库就可以简单显示出自增长列的方法&…

达摩院NLP团队斩获六项世界冠军背后,让AI没有难懂的语言

2018年末,BERT横空出世,它采用自编码对句子进行表示,通过预测掩盖词和上下句之间的关系作为语言模型学习任务,使用更多的数据,更大的模型,在多个自然语言处理(NLP)任务中显著超越之前…

提权巧用RAR.EXE

rar.exe是什么?它就是大名鼎鼎的winrar自带的命令行解压程序。在提权中我们经常要下载各种敏感文件,比如:SU目录。你想一下,如果su目录文件这么多,难道你要一个个的下载??这明显就很麻烦,有了ra…

OSGI企业应用开发(二)Eclipse中搭建Felix运行环境

上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Felix和Equinox搭建OSGI运行环境。 一、搭建Apache Felix运行环境 上篇文章中介绍…

马斯克脑机接口、BrainOS相继发布,不努力也能有出路了

作者 | 马超责编 | Carol封图 | CSDN 下载自视觉中国在北京时间的8月29日凌晨,钢铁侠埃隆马斯克投资1亿多美元的脑机接口初创公司公司Neuralink(http://www.neurolink.company/)进行了一次现场发布会,展示新一代的脑机接口设备。这…

C语言单向链表的实现

一个简单结点的结构体表示为:struct note{int data; /*数据成员可以是多个不同类型的数据*/struct note *next; /*指针变量成员只能是-个*/}; 一个简单的单向链表的图示1.链表是结构、指针相结合…

Java开发常用Linux命令

1.查找文件 find / -name filename.txt根据名称查找/目录下的filename.txt文件。 find . -name "*.xml"递归查找所有的xml文件 find . -name "*.xml" |xargs grep "hello world"递归查找所有文件内容中包含hello world的xml文件 grep -H spring …

数据库开发基本操作-安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法...

今天在安装SQL Server 2005时,出现“性能监视器计数器要求”错误,因为以前出现过这种错误,得到了解决。今天又又出现这种错误,但并不是很清楚当时的解决办法,所以这次把解决方法记录下来,供自己以后参考&am…

华为昇腾师资培训沙龙·南京场 |华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列...

自今年疫情以来,AI 技术加速进入了人们的视线,在抗疫过程中发挥了重要作用,产业发展明显提速,我国逐步走出了一条由需求导向引领商业模式创新、市场应用倒逼基础理论和关键技术创新的发展道路,AI 人才的争夺战也正式打…

设计模式之C#实现---Builder

作者:cuike519的专栏 http://blog.csdn.net/cuike519/我们将要介绍一个和它比较像的创建型模式 Builder (至于关于 Builder 的详细内容您可以参考 GOF 的书,在这里不重复了。)。在 GOF 的书里 Builder 的目的是这样的&#xff1…

微信小程序开发之不能使用eval函数的问题

2019独角兽企业重金招聘Python工程师标准>>> 一 eval函数问题 JavaScript中的eval函数是颇受开发者争议的问题之一,问题主要在于其可能导致的不安全性。有关此方面问题,在此不再赘述,读者可能很容易地浏览到许多介绍性文章。 但是…

设计模式之C#实现--FactoryMethod

作者:cuike519的专栏 http://blog.csdn.net/cuike519/工厂方法的目的很明确就是定义一个用来创建对象的接口,但是他不直接创建对象,而由他的子类来创建,这样一来就将创建对象的责任推迟到了该接口的子类中,创建什么类…

美国AI博士指出,自学Python到底能做什么

我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式&#xff0…

关于微博溯源的后续问题

1、在进行关键词搜索的时候,如何分词,我们不可能用语料库进行匹配,已没有语料可以学习。 2、关于转折点的寻找。目前我们使用高级搜索,从当前时间往前推,根据搜索到微博的条数变化,确定时间发生具体时间&am…

python3的数据类型以及模块的含义

python3的数据类型以及模块的含义购物车转载于:https://blog.51cto.com/11834445/1884901

设计模式之C#实现---- ProtoType

作者: cuike519的专栏 http://blog.csdn.net/cuike519/该模式的意图是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。那么首先我们应该已经有了一个对象,同时这个对象还支持自我复制(科隆&…

快速排序(二)最后修改

1 //2012-07-162 void quickSort(element list[], int left, int right)//快速排序3 {4 int ileft;5 int jright;6 7 if(i > j) //判断需要i<j8 return;9 10 element templist[i]; 11 12 while(i<j) 13 { 14 while(i<j …

性能超越GPU、FPGA,华人学者提出软件算法架构加速AI实时化

作者 | 王言治&#xff0c;美国东北大学电子与计算机工程系助理教授出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;近年来&#xff0c;机器学习(Machine Learning)领域的研究和发展可谓是与日俱新&#xff0c;各式各样与机器学习相关的研究成果与应用层出不穷&#…

PHP获取毫秒时间戳,利用microtime()函数

PHP获取毫秒时间戳&#xff0c;利用microtime()函数 php本身没有提供返回毫秒数的函数&#xff0c;但提供了一个microtime()函数&#xff0c;借助此函数&#xff0c;可以很容易定义一个返回毫秒数的函数。php的毫秒是没有默认函数的&#xff0c;但提供了一个microtime()函数&am…

.NET中添加控件数组

作者&#xff1a;cuike519的专栏 http://blog.csdn.net/cuike519/添加控件数组 在.NET里面我好像没有找到有关于控件数组的说明,但是前两天偶在网上看到了一篇关于如何在.NET里面实现控件数组的文章(该文章请参看MSDN).记得大学的时候在使用VB的时候使用过控件数组,可是到了…

如何在机器学习的框架里实现隐私保护?

编者按&#xff1a;数据时代&#xff0c;人们从技术中获取便利的同时&#xff0c;也面临着隐私泄露的风险。微软倡导负责任的人工智能&#xff0c;因此机器学习中的隐私保护问题至关重要。本文介绍了目前机器学习中隐私保护领域的最新研究进展&#xff0c;讨论了机密计算、模型…

函数图像轻松画:教你用永中图象

函数图像轻松画&#xff1a;教你用永中图象 函数图像轻松画&#xff1a;教你用永中图象转载于:https://blog.51cto.com/premium/933220

c语言语系的命名风格和java系命名风格

c语言系的命名风格&#xff1a;单词之间使用下划线分隔。如上图。 java语言是另外一个系&#xff0c;javascript属于java语系(当年就是想借助java的名气所以命名javascript)。java语系是驼峰式命名法&#xff0c;如getElementById()。如果使用c语系命名风格则使用下划线分隔 ge…

全国IP地址分配表

xa.sn.cn,西安公众网,西安,陕西,CN,202.100.0.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.1.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.2.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.3.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.4.* xa.sn.cn,西安公众网,西安,陕西,C…

神同步!美国三地 Tesla 车主,自动驾驶都撞了警车

来源 | HyperAI超神经&#xff08;ID&#xff1a;HyperAI&#xff09;内容概要&#xff1a;上周在美国北卡州发生了一起交通事故&#xff0c;一辆自动驾驶模式下的 Tesla 撞击了停靠在路边的警车&#xff0c;虽未造成人员伤亡&#xff0c;但车辆损毁严重。事故调查中发现&#…

Q币才是腾讯真正的世界级产品

本文受《虚拟货币将是下一个大平台》启发而来。何玺认为&#xff0c;腾讯Q币本身就具有全球化虚拟货币的基因。 日前&#xff0c;有媒体报道了Pocket Change获得了由Google Ventures领投的500万美元A轮融资&#xff0c;使其融资总额达到640万美元。 Pocket Change是一个为Andro…

解决Office互操作错误检索COML类工厂中 CLSID为 {xxx}的组件时失败,原因是出现以下错误: 80070005...

Excel为例&#xff08;其他如Word也适用&#xff09;文件数据导入时报出以下错误: 检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败&#xff0c;原因是出现以下错误: 80070005&#xff0c;如图所示: 可以看到报出的异常类型为:UnauthorizedAcces…

再论制硬盘逻辑锁

姜卓睿 雷必武 一、序言 由于教学工作需要&#xff0c;本人在参看了贵刊98年第4期《硬盘逻辑锁技术研究及应用》与99年第3期《解开硬盘逻辑死锁的一种有效方法》的文章之后&#xff0c;决定以同类方法尝试一下&#xff0c;结果未获得成功&#xff0c;又“苦于”没有KV300 L …

​我国科学家成功研制全球神经元规模最大的类脑计算机

来源 | 之江实验室&#xff08;ID&#xff1a;zhejianglab&#xff09;9月1日&#xff0c;浙江大学与之江实验室举办成果发布会&#xff0c;共同发布我国首台基于自主知识产权类脑芯片的类脑计算机&#xff08;Darwin Mouse&#xff09;。浙江大学校长吴朝晖院士出席并讲话。他…

批处理获取目录下所有文件名

由于要处理一些文件&#xff0c;找了个这样的批处理&#xff1a; 输出目录及子目录下所有的jpg图片的文件名&#xff0c;不含扩展名 1 echo off 2 cd.>List.txt 3 for /f "delims" %%i in (dir /s/a-d /b *.jpg) do >>List.txt echo %%~ni>>JustName.…