编译步骤
1、从mysql.com上下载最新源码mysql-5.1.35.zip,近40M,需要点耐心 -- 中间网站提示我不是可信任的用户,让我填表确认,填了几次都不行,最后将fixfox关了,干了会活再回来有能下载了,呵呵,是不是ORACLE故意制造麻烦,也未可知;
2、解压,阅读INSTALL-SOURCE和INSTALL-WIN-SOURCE这两个安装文件,发现文件写的一塌糊涂,前言不搭后语,总算看了个大概顺序,开始编译安装;
3、编译环境
需要VC2005及以上--呵呵,正好我机器上有个盗版的
编译还需要cmake,这个久仰大名,就是没有用过,从http://www.cmake.org下载了个最新的CMake 2.6,很快安装完成,安装目录D:\CMake 2.6;
4、执行脚本
win\configure.js WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
我想支持事务,所以用INNOBASE引擎,这个好像比较出名,在mysql之前已经被oracle收购
5、制作工程
执行win\build-vs8.bat
提示找不到cmake,估计是cmake安装后路径没有加进来,加上
set PATH=%PATH%;D:\CMake 2.6\bin
继续build-vs8.bat成功,cmake真不多,自动给做了一个MySql.sln
6、编译
用vc2005打开MySql.sln ,就是一对工程,开始编译吧,呵呵,一起顺利。但最后提示失败。郁闷!
根据错误提示找到sql_locale.cc文件,发现里面都是乱字符,大概看了一下,这个文件大至是个本地化文件,显示各地的月、星期的表示方法,但印度、日本、韩国、中国等字体都是乱字符,造成字符串""的双引号被转义了,造成了语法错误。我开始不相信有问题,又重新解压了这个文件,发现就是由问题。没办法,baidu一下解决办法,发现查不到,google一下,查到一些信息(呵呵,google就是比百度强)
解决办法:先在ultraEdit中转换为utf-8,然后再在vc2005中打开就没有问题了,看来是文件格式问题。
重新编译就成功了。
7、运行
好不容易在sql\debug目录下找到mysqld.exe(该死的文档中没有说),运行一把,已启动就报错。还好,提示了位置在mysqld.cc中的static void test_lc_time_sz(),哼哼,谁叫我们有源码,直接打开源码看,这个函数调用的就是前面编译不通过的sql_locale.cc,单步跟踪一下,发现原来到日本语的时候,其字符串有三个汉字大小,按宽字符应该是长度为3,当mysql.cc中按utf8字符算长度,长度一下扩大一倍,变成6了,所以对不少,直接 assert退出,google了一下无解,一怒之下将test_lc_time_sz()函数完全屏蔽,呵呵,mysqld就可以正常运行了。(难道这个问题一直没有发现,奇怪)
8、整一个运行环境
按照install文档的说法(当然其目录是错误的,完全按照其说明都找不到文件,郁闷),做了一个安装路径
mkdir D:\mysql
mkdir D:\mysql\bin
mkdir D:\mysql\data
mkdir D:\mysql\share
mkdir D:\mysql\scripts
mkdir D:\mysql\include
mkdir D:\mysql\lib
mkdir D:\mysql\lib\debug
mkdir D:\mysql\lib\opt
mkdir C:\mysql\sql-bench
copy D:\Downloads\mysql-5.1.35\client\debug\*.exe D:\mysql\bin
copy D:\Downloads\mysql-5.1.35\sql\debug\mysqld.exe D:\mysql\bin\mysqld-debug.exe
xcopy D:\Downloads\mysql-5.1.35\scripts\*.* D:\mysql\scripts /E
xcopy D:\Downloads\mysql-5.1.35\sql\share\*.* D:\mysql\share /E
copy D:\Downloads\mysql-5.1.35\libmysql\debug\mysqlclient.lib D:\mysql\lib\debug
copy D:\Downloads\mysql-5.1.35\libmysql\libmysql.* D:\mysql\lib\debug
copy D:\Downloads\mysql-5.1.35\zlib\debug\zlib.* D:\mysql\lib\debug
copy D:\Downloads\mysql-5.1.35\libmysql\debug\mysqlclient.lib d:\mysql\lib\opt
copy D:\Downloads\mysql-5.1.35\include\*.h D:\mysql\include
copy D:\Downloads\mysql-5.1.35\libmysql\libmysql.def D:\mysql\include
在d:\mysqld-debug --console运行
提示一堆错误,有仔细看文档,需要建立一个配置文件
echo %WINDIR%
c:\windows
在这个目录下创建一个文本文件:my.ini
内容
[mysqld]
# set basedir to your installation path
basedir=D:/mysql
# set datadir to the location of your data directory
datadir=D:/mysql/data
注意是/不是\,别搞错了
运行
mysqld-debug.exe --console
打印
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
查了半天没有找到原因,天晚了,回去睡觉,明天继续。
早上有读文档,google,仍旧没有头绪,网上都是直接binary安装,没有源码编译安装,无前人经验。
分析应该是缺少一些配置文件,找目录,发现win下有个data目录,里面有个mysql目录,下面有timezone, host等文件,貌似配置文件,呵呵。
将win\data目录copy 到d:/mysql/data后,在启动mysqld-debug --console就oK了
9、测试运行环境
mysqladmin version status proc
mysqlshow -u root mysql
mysql test
mysql -u root -e "select Host, Db, User from db" mysql
my god!,都行
关闭server
mysqladmin -u root shutdown
也能正常关闭。
分享到:
相关推荐
以上内容仅是MySQL 5.1中文手册的部分概览,详细内容可在提供的"www.java1234.com]mysql5.1中文手册.chm"文件中查阅,涵盖了更深入的函数使用、性能调优、复制技术等多个方面。通过学习这本手册,用户可以全面掌握...
在并发控制和锁机制上,MySQL 5.1使用了MVCC(多版本并发控制)来提高并发性能,尤其是在InnoDB引擎中。源代码揭示了如何实现读已提交(Read Committed)和可重复读(Repeatable Read)的事务隔离级别。 在存储过程...
2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...
MySQL 5.1中文文档是针对广大中文用户精心编译的一份技术资料,旨在帮助那些英语不精通或者希望用母语进行学习的开发者更轻松地掌握MySQL数据库管理系统。MySQL是一款广泛应用的关系型数据库系统,以其开源、免费、...
2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...
MySQL是世界上最受欢迎的开源数据库管理系统之一,特别是在Web应用程序中。MySQL 5.1版本是其发展过程中的一...而CHM文件的文档形式,使得用户可以在没有网络连接的情况下,依然能够方便地查阅和学习MySQL的相关知识。
MySQL 5.1在Linux下的编译安装是一个涉及多个步骤的过程,主要分为以下几个阶段: 1. 安装前的准备: 在开始安装MySQL之前,需要确保Linux系统环境已经安装了必要的编译工具,例如GCC(GNU Compiler Collection)...
MySQL 5.1是MySQL数据库管理系统的一个重要版本,它在MySQL的发展历程中占据了显著位置。MySQL是一个开源、免费的关系型数据库管理系统(RDBMS),基于SQL标准,以其高效、稳定和易于管理的特点受到广大开发者的青睐...
1. **安装与配置**:MySQL 5.1的安装过程包括下载、编译和安装步骤,帮助文档会详细指导用户如何在不同的操作系统上进行安装。配置文件`my.cnf`的修改也是关键,可以根据系统资源和应用需求来调整各种参数,如缓存...
2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...
MySQL 5.1版本是MySQL的一个重要里程碑,它在功能、性能和稳定性方面都有显著提升。以下是一些关于MySQL 5.1驱动和其相关知识点的详细介绍: 1. **JDBC驱动类型**: MySQL 5.1驱动属于JDBC Type 4驱动,也称为纯...
2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...
MySQL5.1中文手册是为数据库管理员、开发者和IT专业人士提供的一份详尽参考资料,它涵盖了MySQL 5.1版本的所有特性和功能。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),以其高效、稳定和易用性而受到...
2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...
本资源“mysql5.1-en”是MySQL 5.1的英文文档集合,包括两个文件:`mysql5.1-en`和`mysql5.1-en.chw`。 `mysql5.1-en`可能是文档的HTML或文本格式,提供全面的在线帮助和教程,涵盖安装、配置、管理、查询语言、...
本中文文档详细介绍了MySQL 5.1的各种特性和使用方法,旨在帮助开发者深入理解并有效利用MySQL进行数据库开发。 1. **MySQL 5.1的特性** - **存储引擎**:MySQL 5.1支持多种存储引擎,如InnoDB(事务处理)、...