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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

Oracle is not only a database company, but also a leader in cloud computing and ERP systems. 1. Oracle provides comprehensive solutions from database to cloud services and ERP systems. 2. OracleCloud challenges AWS and Azure, providing IaaS, PaaS and SaaS services. 3. Oracle's ERP systems such as E-BusinessSuite and FusionApplications help enterprises optimize operations.

MongoDB is suitable for unstructured data and high scalability requirements, while Oracle is suitable for scenarios that require strict data consistency. 1.MongoDB flexibly stores data in different structures, suitable for social media and the Internet of Things. 2. Oracle structured data model ensures data integrity and is suitable for financial transactions. 3.MongoDB scales horizontally through shards, and Oracle scales vertically through RAC. 4.MongoDB has low maintenance costs, while Oracle has high maintenance costs but is fully supported.

In MySQL, the function of foreign keys is to establish the relationship between tables and ensure the consistency and integrity of the data. Foreign keys maintain the effectiveness of data through reference integrity checks and cascading operations. Pay attention to performance optimization and avoid common errors when using them.

The main difference between MySQL and MariaDB is performance, functionality and license: 1. MySQL is developed by Oracle, and MariaDB is its fork. 2. MariaDB may perform better in high load environments. 3.MariaDB provides more storage engines and functions. 4.MySQL adopts a dual license, and MariaDB is completely open source. The existing infrastructure, performance requirements, functional requirements and license costs should be taken into account when choosing.
