Mariadb源码编译过程

从微博上看到有人提及Mariadb,搜索了一下,找到地址https://mariadb.org/,这是mysql的一个分支,由原作者维护,意在与oracle分庭抗礼,避免oracle将来毕源。

目前版本Mariadb 10.0.10,我下载了一个,准备编译一个64位版本,下载地址:

https://downloads.mariadb.org/mariadb/10.0.10/

下载后用cmake编译一下试试,进入cmake图形界面,编译器选择vs12.0 win64

Warning: Bison executable not found in PATH

这是警告未安装Bison,这个软件是unix下的,windows下可以不安装,不理了。

在cmake中generate,生成相关的文件。输出选择了build目录:

mariadb\mariadb-10.0.10\BUILD 目录下一堆的东西

选all build这个cmake生成的文件试试。

编译错误。。。sql_local.cc编译错误,太常见了,与前期编译mysql官方版本一样。处理方式早已驾轻就熟:

1)用word打开sql_local.cc,直接保存即可,此时文件头部,被添加了不可见字符,标示utf8编码文件;

2)修改mysql.cc文件,找到test_lc_time_sz()函数,注释掉语句 DBUG_ASSERT(0);

这两个修改完成后,编译成功。

编译后可以输出到install目录,直接执行install失败,需要一些技巧处理install

打开install工程,里面其实是一个命令行脚本,直接copy出来做完doinstall.bat

setlocal

"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake

if %errorlevel% neq 0 goto :cmEnd

:cmEnd

endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone

:cmErrorLevel

exit /b %1

:cmDone

if %errorlevel% neq 0 goto :VCEnd

原来是执行cmake_install.cmake

修改里面的输出目录为:F:\Program Files\MySQL(确实是C:\Program Files\MySQL,在C盘不太好)

直接命令行执行,发现有个宏没有定义,增加:

增加了一行:

SET(CMAKE_INSTALL_CONFIG_NAME "Debug")

还有若干pdb需要手工copy,然后就install成功了。

运行试试:

F:\Program Files\MySQL\bin

mysqld --console

F:\Program Files\MySQL\bin

mysql -u root -p

已经可以创建数据库和表了。

退出。

mysqladmin -u root shutdown

好,一切正常,后面就可以继续研究MySQL了。总之,MariaDB与mysql同源,编译方法类似,没有差别。

Mariadb源码编译过程

时间: 2024-10-04 05:51:43

Mariadb源码编译过程的相关文章

Android 4.4源码编译过程

Android源码下载完后的目录如下: 整个代码的大小为:25.559GB. 一.构建系统 如下用于构建Android源码树的指令应用于所有的代码分支,包括master分支. 1.选择分支 构建系统的一些要求是由将要选择编译的源代码的版本决定的.通过网址http://source.android.com/source/build-numbers.html来查看当前Android所有的分支列表.可以选择下载和构建最新的源代码(称为“master”),在这种情况下,当初始化库时,可直接省去了指定分支

shell脚本和ansible实践MariaDB源码编译自动安装

在前面的博客中已经演示,通过脚本实现MySQL通用二进制的安装,下面通过演示用脚本实现源码编译MariaDB实现自动化,在大规模部署多台MariaDB时,这里使用ansible来实现其自动化部署,可以大大简化运维工程师的时间. 先讲解脚本在本地自动化安装MariaDB,结合上一篇博客和前面自动化实现的MySQL通用二进制格式的安装. 环境:Centos 6.6      mariadb-10.0.13.tar.gz    node5(hostname)   2块硬盘:1块是系统用.1块是作为My

Android源码编译过程

http://my.oschina.net/zhoulc/blog/170698 http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 注意: 1,不要使用64位ubuntu 2,务必分配4g或者以上的swap空间 系统定制基本流程:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 一,源码下载 谷歌搜索

Hadoop源码编译过程

一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作. native目录是本地库,位于hadoop-2.x.x/lib/native目录下,仅支持linux和unix操作系统. hadoop中的zlib和gzip模块会加载本地库,如果加载失败,会提示: 16/07/06 12:18:24 WARN u

nginx源码编译以及源码编译过程中遇到的问题

原帖地址:https://www.cnblogs.com/operationhome/p/8964191.html 本文主要讲nginx安装以及安装过程中遇到的问题. 谈到nginx 必须聊聊它的起源和发展. nginx是由俄罗斯工程师Igor Sysoev 用C语言开发的一个免费开源的Web服务器软件,于2004年发布,聚集轻量级.高并发.高性能.低消耗等一系列优点.目前Nginx是互联网上仅次于Apache的第二流行的Web服务器软件. 接下来我们开始安装nginx,我们下面是以centos

Eclipse SmartHome源码编译过程

Eclipse SmartHome是一个开源的构建智能家居的解决方案,应用于网关,解决了不同供应商智能设备,接入统一网关的问题,给终端用户带来了便利.很多的IOT云平台商,都是在它基础上构建而来,包括国内的华为IOT云架构. 在本地构建Eclipse SmartHome是非常痛苦的过程,尤其是通过官方提供,通过Eclipse安装器,安装Eclipse SmartHome环境方案,多次安装都失败,跟国内墙也要关系,无奈去github下载Eclipse SmartHome源码,本地编译.(https

【hadoop 2.6】hadoop 2.6源码编译过程,redhat 5.8操作系统进行编译【附:软件下载】

大家在官网下载hadoop2.6安装完使用的时候,总是在控制台有这样一句 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 因为官网给的32位系统编译的版本,在64位的操作系统上使用就需要自己编译源码了 下面介绍下我的编译过程: 这里是下载了maven,ant,findbugs,分别解压后

OpenSift源码编译过程记录

本文记录了在CentOS6.5上编译Sift的开源实现OpenSift的编译过程,同时记录了编译过程中的几个问题. sift的理论已经有很多了,下面会给出链接: 1.Requirements a.OpenCV All code in this package requires the OpenCV library (known working version is 2.3):http://sourceforge.net/projects/opencvlibrary/ b.GDK/GTK+2 So

mariadb源码编译

1.mariadb的编译过程 编译前准备 # yum install cmake ncurses-devel gcc gcc-c++  # groupadd -r mysql # useradd -r -g mysql -s /sbin/nologin -M mysql # mkdir /opt/data # chown mysql.mysql /opt/data -R # tar xf mariadb-10.0.13.tar.gz # cd /mariadb-10.0.13 2.配置文件 cm