MySQL源代码解读
第一步:
下载bison-2.4.1-setup.exe链接地址
第二步:
下载cmake-2.8.6-win32-x86.exe链接地址
第三步:
下载MySQL链接地址
G:\Mlearn\mysql-5.6.-win32>cmake . -G "Visual Studio 9 2008"
CMake Error: The source directory "G:/Mlearn/mysql-5.6.14-win32" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
添加CMakeLists.txt后重试
G:\Mlearn\mysql-5.6.-win32>cmake . -G "Visual Studio 9 2008"
CMake Error: CMake was unable to find a build program corresponding to "Visual Studio 9 2008". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different bu
ild tool.
CMake Error: Could not find cmake module file:G:/Mlearn/mysql-5.6.-win32/CMakeFiles/CMakeCCompiler.cmake
CMake Error: Could not find cmake module file:G:/Mlearn/mysql-5.6.-win32/CMakeFiles/CMakeFortranCompiler.cmake
-- Configuring incomplete, errors occurred!
使用VC++构建MySQL
按照以下步骤构建MySQL:
1. 创建工作目录(例如,C:\ workdir)。
2. 使用WinZip或其它可以读取.zip文件的Windows工具将源码分发版解压缩到上述目录。
3. 启动Visual Studio。
4. 从File菜单,选择Open Workspace。
5. 打开工作目录中的MySQL.dsw工作区。
6. 从Build 菜单,选择Set Active Configuration菜单。
7. 点击窗口选择mysqld - Win32 Debug并点击OK。
8. 按F7开始构建调试服务器、库和客户端应用程序。
9. 按同样方法编译发布版本。
10. 程序和库的调试版本位于client_debug和lib_debug目录。程序和库的发布版本位于client_release和lib_release目录。请注意如果你想要构建调试版本和发布版本,可以从 Build菜单选择Build All选项。
11. 测试服务器。使用前面的说明构建服务器时,默认MySQL基本目录和数据目录位于C:\mysql和C:\mysql\data。如果你想要使用源码树根目录和数据目录作为基本目录和数据目录来测试服务器,需要告诉服务器其路径名。可以在命令行用--basedir和--datadir选项来完成,或将相应选项放入选项文件(在Windows目录或C:\my.cnf中的my.ini文件)。如果想要使用的数据目录在其它地方,可以指定其路径名。
12. 根据你想要使用的服务器,从client_release或client_debug目录启动服务器。
13. 当服务器根据你的配置独立运行或作为服务时,尝试从client_release或client_debug目录中的MySQL交互式命令行实用工具连接它。如果构建的程序工作正常,停止服务器。按照以下步骤安装MySQL:
创建安装MySQL的目录。例如,要安装到C:\mysql,使用命令:
C:\> mkdir C:\mysql
C:\> mkdir C:\mysql\bin
C:\> mkdir C:\mysql\data
C:\> mkdir C:\mysql\share
C:\> mkdir C:\mysql\scripts
如果想要编译其它客户端程序并连接到MySQL,你还需要创建几个目录:
C:\> mkdir C:\mysql\include
C:\> mkdir C:\mysql\lib
C:\> mkdir C:\mysql\lib\debug
C:\> mkdir C:\mysql\lib\opt
如果想要对MySQL进行基准检查,创建目录:
C:\> mkdir C:\mysql\sql-bench
将下面的目录从workdir目录复制到C:\mysql目录:
C:\> cd \workdir
C:\workdir> copy client_release\*.exe C:\mysql\bin
C:\workdir> copy client_debug\mysqld.exe C:\mysql\bin\mysqld-debug.exe
C:\workdir> xcopy scripts\*.* C:\mysql\scripts /E
C:\workdir> xcopy share\*.* C:\mysql\share /E
如果想要编译其它客户端程序并连接到MySQL,还应当复制几个库和头文件:
C:\workdir> copy lib_debug\mysqlclient.lib C:\mysql\lib\debug
C:\workdir> copy lib_debug\libmysql.* C:\mysql\lib\debug
C:\workdir> copy lib_debug\zlib.* C:\mysql\lib\debug
C:\workdir> copy lib_release\mysqlclient.lib C:\mysql\lib\opt
C:\workdir> copy lib_release\libmysql.* C:\mysql\lib\opt
C:\workdir> copy lib_release\zlib.* C:\mysql\lib\opt
C:\workdir> copy include\*.h C:\mysql\include
C:\workdir> copy libmysql\libmysql.def C:\mysql\include
如果你想要对MySQL进行基准测试,你还应当:
C:\workdir> xcopy sql-bench\*.* C:\mysql\bench /E
MySQL源代码解读的更多相关文章
- linux内核奇遇记之md源代码解读之四
linux内核奇遇记之md源代码解读之四 转载请注明出处:http://blog.csdn.net/liumangxiong 运行阵列意味着阵列经历从无到有,建立了作为一个raid应有的属性(如同步重 ...
- Apache OFbiz entity engine源代码解读
简单介绍 近期一直在看Apache OFbiz entity engine的源代码.为了能够更透彻得理解,也由于之前没有看人别人写过分析它的文章,所以决定自己来写一篇. 首先,我提出一个问题,假设你有 ...
- 分享:json2.js源代码解读笔记
1. 怎样理解"json" 首先应该意识到,json是一种数据转换格式,既然是个"格式",就是个抽象的东西.它不是js对象,也不是字符串,它仅仅是一种格式,一种 ...
- Mysql Explain 解读(基于MySQL 5.6.36)
Mysql Explain 解读(基于MySQL 5.6.36) 1.语法 explain < table_name > #例子 explain select * from t3 wher ...
- 初看mysql源代码之mysql.cc
在mysql的源代码目录中,sql目录是mysql源代码中经常变化的目录之一,也是MySQL服务器内核最为核心和重要的目录. sql目录除了包含mysqld.cc这一MySQL main函数所在文件外 ...
- MySQL 源代码scr.rpm安装的一点注意事项
rpm安装包通常为二进制包(Binary)以及源代码包(Source)两种形式. 在使用源代码方式安装MySQL的时候,官方站点上下载的源代码包通常为scr.rpm格式,而不是直接的tar包.对此,须 ...
- 分析学习MYSQL源代码需要哪些方面的知识呢?
分析学习MYSQL源代码需要哪些方面的知识呢? 哪些书籍或网站对这方面有帮助呢? 60d
- 【Spark】SparkContext源代码解读
SparkContext的初始化 SparkContext是应用启动时创建的Spark上下文对象,是进行Spark应用开发的主要接口,是Spark上层应用与底层实现的中转站(SparkContext负 ...
- Apache Beam WordCount编程实战及源代码解读
概述:Apache Beam WordCount编程实战及源代码解读,并通过intellij IDEA和terminal两种方式调试执行WordCount程序,Apache Beam对大数据的批处理和 ...
随机推荐
- 好汉两个半第十二季/全集Two and a Half Men迅雷下载
本季Two And A Half Men Season 12 (2014)看点:<好汉两个半>的“半个”是因为第一季播出时杰克年纪太小,只能算半个.故事就在这三个主角和他们周围的女人中发生 ...
- Java中CAS详解
在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度延时,引起性能问题. (2 ...
- 删除list中的特定元素
对于动态删除list中的特定元素,一般用linkedList,删除时有以下两种方法. 1. 循环遍历,找到要删除的元素后删除并且减少list长度.如果不减少list长度,那么就仅仅删除了元素,但没改变 ...
- [转]php curl经典最常用的5个例子
转自: http://www.jb100.net/html/content-22-821-1.html php curl常用的5个例子 我用php ,curl主要是抓取数据,当然我们可以用其他的方法来 ...
- html input type=file 选择图片,图片预览 纯html js实现图片预览
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 标识符(IDentifier)
ylbtech-Miscellaneos:标识符(IDentifier) A,返回顶部 1, 标识符(IDentifier)是指用来标识某个实体的一个符号.在不同的应用环境下有不同的含义. 在日常生活 ...
- OpenCV教程(44) harris角的检测(2)
在上一篇教程中,我们得到的harris特征角二值图中,角的数目特别多,本章我们用一个局部最大化的方法,只保留局部值最大的harris特征角. // Harris角计算 cv::corner ...
- 奇怪吸引子---BurkeShaw
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
- 我一直跑的分类LSTM模型原来是这一个,新闻分类网络
原始的github可以参考这里: https://github.com/FudanNLP/nlpcc2017_news_headline_categorization 我的经验文章可以参考这里: ht ...
- 为sharepoint的内部页面添加后台代码
我们知道,存储在数据库里的SharePoint页面是不能直接添加后台代码的,这给我们带来了很多的不方便,比如想要在页面上实现一些东西,都必 须使用Webpart或者自定义控件的方式,哪怕仅仅是很简单的 ...