SRPM包来源
http://vault.centos.org/6.3/os/Source/SPackages/mysql-5.1.61-4.el6.src.rpm
原本按照标准步骤编译的,编译了很久,竟然出现报错
- # note: "make test" invokes two largely-duplicate sets of tests,
- # which makes the runtime really unacceptably long ...
- # if you want to change this, look at mysql-testing.patch too.
- make test-ns
大概意思就是编译耗时很多,还会发生意外,处理办法,注释掉mysql.spec 的一行(第297行左右)
- # make test-ns 注释这一行 comment out this line
为获得更好性能,编译静态链接程序,在编译参数后加入
- --with-mysqld-ldflags=-all-static \
但是官方不推荐用gcc来编译上述参数,而用icc(intel的产品)或pgcc(但pgcc在AMD CPU上有缺陷),详见:
7.5.4. 编译和链接怎样影响MySQL的速度
修改参数
CXX=icc
另外,参数--with-client-ldflags=-all-static 跟ssl冲突,一般不选。
如果只想用gcc编译通过,还是不要修改spec文件的参数,注释掉make test-ns就好了。默认的编译会对CPU做优化。
总之,编译mysql还是比较麻烦的。