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对大数据的批处理和 ...
随机推荐
- SharePoint 内容编辑器部件介绍
前言 在SharePoint的使用过程中,我们经常会往页面中插入一些东西,这时候很可能就需要内容编辑器部件了.比如:插HTML.插样式.插脚本.插图片,统统都拿来,用内容编辑器部件. 正文 使用内容编 ...
- .Net Excel操作之NPOI(一)简介
一.NPOI简介 NPOI是一个开源项目,可以读/写xls,doc,ppt文件,有着广泛的应用. 使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支 ...
- ARCH模型
ARCH模型的基本思想 ARCH模型的基本思想是指在以前信息集下,某一时刻一个噪声的发生是服从正态分布.该正态分布的均值为零,方差是一个随时间变化的量(即为条件异方差).并且这个随时间变化的方差是过去 ...
- [转]InnoDB和MyISAM区别
From : http://blog.csdn.net/ghosc/article/details/5391544 MySQL作为当前最为流行的免费数据库服务引擎,已经风靡了很长一段时间,不过也许也有 ...
- sublime3 安装 Package Control 报错 “There Are No Packages Available For Installation”
编辑Preferences > Package Settings > Package Control > Settings - User文件 码上 { "channels& ...
- 11.2.0.3 RAC(VCS)节点crash以及hang的问题分析
昨天某个客户的一套双节RAC当中一个节点crash,同一时候最后导致另外一个节点也hang住,仅仅能shutdown abort. 且出现shutdown abort实例之后,还有部分进程无法通过ki ...
- Java switch 枚举
Switch中能够使用int.byte.short,char,Enum,String.当中Enum为1.5之后新增特性,String为java8新增特性.本文介绍怎样在Switch中使用Enum类型. ...
- 奇怪吸引子---AnishchenkoAstakhov
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
- pThreads线程(二) 线程同步--互斥量/锁
互斥量(Mutex)是“mutual exclusion”的缩写.互斥量是实现线程同步,和保护同时写共享数据的主要方法. 互斥量对共享数据的保护就像一把锁.在Pthreads中,任何时候仅有一个线程可 ...
- Matplotlib.pyplot 常用方法
1.介绍 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图 ...