Heim > Datenbank > MySQL-Tutorial > Mariadb源码编译过程_MySQL

Mariadb源码编译过程_MySQL

WBOY
Freigeben: 2016-06-01 13:16:18
Original
1085 Leute haben es durchsucht

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同源,编译方法类似,没有差别。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage