作者网址:http://www.innomysql.net/
1.旧版 mysql-3.23.49-win-src.zip 下载 (科学上网络下载配书源代码) 或者 作者网盘 http://pan.baidu.com/s/1bnqK2dx
http://live.dadanini.at/mysql/downloads_html/mysql-3.23.html
相关资料: 何登成 :http://vdisk.weibo.com/u/2216172320
2.打开工程 mysql.sln
error 1:
正在创建临时文件“e:mysql-3.23.49BAKstringsdebugBAT000001.bat”,其内容为 [ @echo off ml /Cx /nologo /DDOS386 /DM_I386 /Zm /coff /c /Fo ".debug""strxmov".obj "e:mysql-3.23.49BAKstringsstrxmov.asm" if errorlevel 1 goto VCReportError goto VCEnd :VCReportError echo Project : error PRJ0019: 工具从"正在执行自定义生成步骤" exit 1 :VCEnd ] 正在创建命令行“"e:mysql-3.23.49BAKstringsdebugBAT000001.bat"” 正在创建临时文件“e:mysql-3.23.49BAKstringsdebugBAT000002.bat”,其内容为 [ @echo off ml /Cx /nologo /DDOS386 /DM_I386 /Zm /coff /c /Fo ".debug""strings".obj "e:mysql-3.23.49BAKstringsstrings.asm" if errorlevel 1 goto VCReportError goto VCEnd :VCReportError echo Project : error PRJ0019: 工具从"正在执行自定义生成步骤" exit 1 :VCEnd ] 正在创建命令行“"e:mysql-3.23.49BAKstringsdebugBAT000002.bat"”
修改E:mysql-3.23.49strings 下的 strings.vcproj
<File RelativePath="Strxmov.asm"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCustomBuildTool" CommandLine="ml /Cx /nologo /DDOS386 /DM_I386 /Zm /coff /c /Fo .debugStrxmov.obj "$(InputPath)" " Outputs="$(OutDir)$(InputName).obj"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCustomBuildTool" CommandLine="ml /Cx /nologo /DDOS386 /DM_I386 /Zm /coff /c /Fo .debugStrxmov.obj "$(InputPath)" " Outputs="$(OutDir)$(InputName).obj"/> </FileConfiguration> </File>
<File RelativePath="Strings.asm"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCustomBuildTool" CommandLine="ml /Cx /nologo /DDOS386 /DM_I386 /Zm /coff /c /Fo .debugstrings.obj "$(InputPath)" " Outputs="$(OutDir)$(InputName).obj"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCustomBuildTool" CommandLine="ml /Cx /nologo /DDOS386 /DM_I386 /Zm /coff /c /Fo .debugstrings.obj "$(InputPath)" " Outputs="$(OutDir)$(InputName).obj"/> </FileConfiguration> </File>
error 2:
正在编译... cxx_txn.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory cxx_table.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory cxx_mpool.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory cxx_log.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory cxx_lock.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory cxx_except.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory cxx_app.cpp ../bdbuild_win32db_config.h(218) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
在 E:mysql-3.23.49dbuild_win32下找到db_config.h
修改db_config.h 第218行 修改为
#include <iostream> using namespace std;
error 3
cxx_txn.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
cxx_table.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
cxx_mpool.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
cxx_log.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
cxx_lock.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
cxx_except.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
cxx_app.cpp
../bdbincludedb_cxx.h(52) : fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
在E:mysql-3.23.49dbinclude下找到 db_cxx.h, 定位到52行修改为
#include <iostream> using namespace std;
error 4
LINK : fatal error LNK1181: 无法打开输入文件“mysqlclient.lib”
生成日志保存在“file://e:mysql-3.23.49clientmysqlcheck___Win32_ReleaseBuildLog.htm”中 mysqlcheck - 1 错误,0 警告
方法 .在选择 mysqlcheck 项目,右击选择 属性 -》常规-》附加库目录 加入 ..lib_debug目录
error 5 库冲突与函数引用
解决方法:
3.调试MYSQL
1.mysqld --debug --standalone --console(CMD 窗口不能关,否则就非正常退去了)
2.打开VS 2003 ,打开mysql.sln
3.在VS 2003中设定想要设定的断点
4.工具->调试->附加到进程->选择 mysqld (本地native)
5.mysql -u root 在这个窗口中 执行SQL命令,VS 2003会在源码中中断到相关细节,进而进行动态调试
6.mysqladmin shutdown -u root //调试完毕后关闭mysqld
mysql 跟踪文件:e:mysqld.trace
c:my.cnf
[mysqld] basedir=E:mysql-3.23.49 datadir=E:mysql-3.23.49data innodb_data_home_dir=E:mysql-3.23.49data innodb_data_file_path=ibdata1:30M