欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mariadb源码编译过程_MySQL

程序员文章站 2022-05-19 09:24:36
...
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同源,编译方法类似,没有差别。