您的位置:首页 > 产品设计 > UI/UE

使用源码build mysql5.5 以及 在进…

2015-01-18 20:14 197 查看
mysql是开源的,所以任何人都可以下载并且修改它的源代码。本文介绍如何在不安装的情况下直接执行并测试mysql代码。本文以ubuntu下mysql5.5为例。

工具:

bazaar

(ubuntu 下 apt-get install bazaar)

cmake (同上)

1.使用bazzar下载mysql5.5

(参考http://forge.mysql.com/wiki/MySQL_Bazaar_Howto)

-1 创建一个repository 文件夹

> cd

>mkdir mysql-repo

-2 初始化共享库

>bzr init-repo mysql-repo

>cd mysql-repo

-3 下载mysql代码

>bzr branch lp:mysql-server/5.5 mysql-5.5
(第一次可能要非常的久,但后面就快了) 如果你想快点的话可以使用>bzr
checkout --lightweight lp:mysql-server/5.5
mysql-5.5


2. 编译

-1 外部编译代码

>cd mysql-5.5

> mkdir build

> cd build

(这个名字随意,之后所有的编译过程都是在这个文件下进行的。这么做的好处就是如果你想在同一个代码上用不同的参数编译不同的版本,只需要为不同的版本创建不同的build目录如build-1。这些build目录互不干扰)

> cmake ..

注:cmake过程中可能会发现某些依赖缺失(如g++, lbncurses5-dev,bison), 使用apt-get
install命令安装后再cmake一次就好。 在 centos下安装g++要用yum install gcc-c++。
curses要用yum install ncurses-devel。

-2 make文件

> make

注:这时在build目录下就是一整套可执行的mysql5.5

3. 测试

-1 执行通用测试脚本

mysql自己有一个测试平台和对应的测试语言。 mysql提供一整套的测试脚本以用于验证当前待测试的版本是否正确。
执行测试的命令如下:

>cd mysql-test (这个是在build目录下的)

>./mtr (这个是执行全部测试)

也可以 >./mtr --suite 套件名 来执行某个特点的套件
套件在mysql5.5/mysql-test/suite文件夹下

也可以 >./mtr 某个测试用例的名字 所有的测试用例文件都是以 .test结尾

4. 不安装的情况下使用

-1 编写测试脚本启动mysql

不安装的情况下使用是基于mysql的测试平台的。

在mysql5.5/mysql-test/t/ 文件夹下创建一个新的测试用例 slb.test

内容如下:

sleep 1000000;

注:数值的大小决定了服务存在的时间。这句话的意思是利用mysql测试平台启动之后不执行任何测试,而是让测试进程睡眠一段时间,而这段时间mysql的服务是启动的。

-2 使用mysql

进入build目录下的client文件夹

>mysql -u root -P 端口号 -h 127.0.0.1

端口号可以用netstat -napt |grep mysql 来查看 一般为13000

注:启动mysql过程中如果报错说: "Could not create the testcase service
port"

ping一下localhost 看下ip地址是不是127.0.0.1, 使用虚拟机时,如果网络没有配好的话
可能会出现这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: