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

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, 使用虚拟机时,如果网络没有配好的话 可能会出现这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值