• 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文件夹:

    mariadbmariadb-10.0.10BUILD 文件夹下一堆的东西

    选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

    打开installproject,里面事实上是一个命令行脚本。直接copy出来做完doinstall.bat

    setlocal
    "C:Program Files (x86)CMake 2.8incmake.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 FilesMySQL(确实是C:Program FilesMySQL。在C盘不太好)

    直接命令行运行,发现有个宏未定义。添加:

    添加了一行:
    SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
    还有若干pdb须要手工copy,然后就install成功了。

    执行试试:
    F:Program FilesMySQLin
    mysqld --console
    F:Program FilesMySQLin
    mysql -u root -p
    已经能够创建数据库和表了。


    退出。
    mysqladmin -u root shutdown


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

  • 相关阅读:
    2.变量、数据类型、数据类型转换相关函数
    3.字符串、列表、元组、字典、集合的补充
    CentOS7安装mysql后无法启动服务,提示Unit not found
    (个人记录)Python2 与Python3的版本区别
    1.print()与input()
    JAVA:函数的定义、使用
    Java:包装类
    Java:访问权限
    Java程序流程控制:判断结构、选择结构、循环结构
    Java:运算符的问题
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7341641.html
Copyright © 2020-2023  润新知