Qual é a maneira mais fácil de fazer o Archive Engine do MySQL funcionar no CentOS 5.4

1

O Mecanismo de Armazenamento de Arquivos não está habilitado pela versão padrão do MySQL no CentOS / RHEL. Eu gostaria de habilitá-lo em nosso servidor CentOS 5.4. Minha reação inicial foi modificar o arquivo SPEC para o arquivo SRPMS, mas isso indica que isso pode não ser tão fácil. Há sempre a opção de construir a partir do MySQL, mas eu preferiria, se possível, ficar dentro do mundo RPMS / Yum.

Alguém tem uma abordagem bem-sucedida usando RPMS / SRPMS / Yum? Alguns patches que fazem este trabalho impecável com o SRPMS?

    
por tronda 19.11.2010 / 11:17

1 resposta

1

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.

    
por 19.11.2010 / 13:26