欢迎光临
我们一直在努力

Mysql的源码安装

闲来无事,准备学习下mysql的源代码,花了1个小时的时间,终于在VS2008中运行起来Mysql了,有些地方也是知之甚少,理解错了希望大家及时纠正,下面介绍下如何进行配置。

step 1:

Step 2:

别告诉我你没有VS,呃,好吧,你是外星人。

Step 3:

Step4:

Step 5:

将下载下来的ZIP文件解压,我解压到了D:\open_src\mysql 中,CMD进入mysql目录下,执行脚本文件:

脚本后面带有三个参数,具体的参数根据自己的需要进行设置,这里选择了INNODB的存储引擎,

貌似这个很流行,提供的可选参数如下:

打开configure.js脚本文件,如下所示:

 

try
{
var fso
= new ActiveXObject("Scripting.FileSystemObject");

var args
= WScript.Arguments

// read in the Unix configure.in file

/**<p>打开文件mysql/configure.ini ,此文件是一些默认配置值,

如端口号MYSQL_TCP_PORT_DEFAULT</p>*/
var configureInTS
= fso.OpenTextFile("configure.in", ForReading);
var configureIn
= configureInTS.ReadAll();
configureInTS
.Close();
var default_comment
= "Source distribution";
var default_port
= GetValue(configureIn, "MYSQL_TCP_PORT_DEFAULT");
var actual_port
= 0;

/**<p>输出文件mysql/win/configure.data ,此文件是运行js脚本产生的一些参数</p>*/
var configfile
= fso.CreateTextFile("win\\configure.data", true);
for (i=0; i < args.Count(); i++)
{
var parts
= args.Item(i).split('=');
switch
(parts[0])
{
case
"CYBOZU":
case
"EMBED_MANIFESTS":
case
"EXTRA_DEBUG":
case
"WITH_EMBEDDED_SERVER":
case
"WITHOUT_MARIA_TEMP_TABLES":
configfile
.WriteLine("SET (" + args.Item(i) + " TRUE)");
break;
case
"MYSQL_SERVER_SUFFIX":
case
"MYSQLD_EXE_SUFFIX":
configfile
.WriteLine("SET (" + parts[0] + " \""
+ parts[1] + "\")");
break;
case
"COMPILATION_COMMENT":
default_comment
= parts[1];
break;
case
"MYSQL_TCP_PORT":
actual_port
= parts[1];
break;
}
}

.....

.....

由此可见configure.js是利用我们传入的参数和configure.in文件,生成一个configure.data文件,其内容如下所示:

 

Step 6:

执行win目录下的build-vs9.bat批处理文件,打开这个文件,只有一条语句:

cmake -G "Visual Studio 9 2008"

cmake是一个跨平台的自动化构建系统,即根据平台和编译器生成不同的make文件(UNIX下的叫法)。

build-vs9.bat中CMAKE的参数是Visual Studio 9 2008,即Generates Visual Studio 9 2008 project files。Cmake执行时,会使用step 5中生成的configure.data文件,具体咋使用的我也小白了,咱就不研究了。最后会在mysql根目录下生成一个VS的解决方案文件MySql.sln。

Step 7:

设置数据目录,Mysqld启动时,首先去WINDIR中找my.ini配置文件,可以通过如下命令获取WINDIR的路径:

 

 

如果没有my.ini文件,可以自己创建一个,看到如下内容:

设置了两个参数,mysql的参数路径,我们通过修改这两个参数来指向我们具体的目录。

 如果不想自己创建的话,可以将win目录下的data目录整体拷贝到sql目录下。

step 8:

将sql目录下的share目录整体拷贝下mysql根目录下,因为SERVER启动时需要在Mysql/share目录下找一个errmsg.txt,用于记录错误信息,当然你也可以不进行整体的目录拷贝,只将errmsg.txt拷贝过去也行,但是确保是这样的路径mysql/share/errmsg.txt.

step 9:

       启动mysql服务器,mysql解决方案中,服务器是mysqld项目,客户端是mysql项目,分别编译这两个项目。在编译sql_locale.cc文件时,会出现ERROR,用ULTRA EDIT打开sql_locale.cc文件,另存为UTF-8格式,覆盖原文件即可。使用VS启动服务器mysqld,使用命令行启动客户端mysql:

服务器可以在VS下进行调试了,yeah~~

 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Mysql的源码安装》
文章链接:https://www.456zj.com/20222.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址