归档存储引擎没有在CentOS / RHEL中默认的MySQL版本启用。 我想在我们的CentOS 5.4服务器上启用它。 我最初的反应是修改SRPMS文件的SPEC文件,但是这表明这可能不那么容易。 总是有从MySQL源代码构build的选项,但是我更希望能够保持在RPMS / Yum世界中。
有没有人通过使用RPMS / SRPMS / Yum有成功的方法? 一些修补程序使这项工作完美的SRPMS?
我用MySQL的SPECS文件进行了更改,启用了存档存储引擎。 下面是如何启动和运行的详细步骤:
安装yum-utils:
sudo yum install yum-utils
将RedHat的SRPMS包含在CentOS回购中:
sudo vi /etc/yum.repos.d/srpm.repo
添加以下回购configuration:
[rhel-src] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
我无法在URL中使用$releasever ,但必须设置为5Server 。
下载SRPMS软件包:
yumdownloader --source mysql-server
为非root用户设置构build区域:
yum install rpm-build redhat-rpm-config mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros rpm -i mysql-server-5.0.xx.src.rpm
安装所需的开发工具:
yum install gcc-c++ libtool gperf automake ncurses-devel readline-devel openssl-devel zlib-devel
要find所有必需的库和工具,只需尝试以下命令:
cd ~/rpmbuild/SPECS/
修改规格文件:
vi ~/rpmbuild/SPECS/mysql.spec
我在spec文件中添加了以下内容(我还想包含联合存储引擎):
%configure \ ... --with-archive-storage-engine \ --with-federated-storage-engine \ ...
请注意:在MySQL 5.1中,这可能发生了变化,其中plugin用于指定存储引擎。
为了加快构build过程,你应该考虑做这个改变:
%{!?runselftest:%define runselftest 0}
然后运行(作为非root用户):
cd ~/rpmbuild/SPECS/ rpmbuild -ba mysql.spec
你会在~/rpmbuild/RPMS/i386findRPM。 只需安装并运行MySQL,您将获得启用了存档存储引擎的MySQL版本。