Eu construo o MySQL com mudanças no arquivo SPECS para MySQL e o mecanismo de armazenamento Archive foi ativado. Aqui está um passo detalhado sobre como colocar isso em prática:
Instale o yum-utils:
sudo yum install yum-utils
Inclua o SRPMS da RedHat na repo do CentOS:
sudo vi /etc/yum.repos.d/srpm.repo
Adicione a seguinte configuração de repositório:
[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
Não consegui usar $releasever
no URL, mas tive que definir 5Server
.
Faça o download do pacote SRPMS:
yumdownloader --source mysql-server
Configure a área de construção para um usuário não raiz:
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
Instale as ferramentas de desenvolvimento necessárias:
yum install gcc-c++ libtool gperf automake ncurses-devel readline-devel openssl-devel zlib-devel
Para encontrar todas as bibliotecas e ferramentas necessárias, basta tentar o seguinte comando:
cd ~/rpmbuild/SPECS/
Modifique o arquivo de especificação:
vi ~/rpmbuild/SPECS/mysql.spec
Eu adicionei o seguinte no arquivo de especificação (eu também queria incluir o mecanismo de armazenamento federado):
%configure \
...
--with-archive-storage-engine \
--with-federated-storage-engine \
...
Esteja ciente: Isso pode ter mudado no MySQL 5.1, onde plugin
é usado para especificar mecanismos de armazenamento.
Para acelerar o processo de criação, considere a possibilidade de fazer essa alteração:
%{!?runselftest:%define runselftest 0}
Em seguida, execute (como usuário não raiz):
cd ~/rpmbuild/SPECS/
rpmbuild -ba mysql.spec
Você encontrará os RPMs em ~/rpmbuild/RPMS/i386
. Basta instalar e executar o MySQL e você terá uma versão do MySQL com o mecanismo de armazenamento em arquivo ativado.