Como alternar entre diferentes versões instaladas do MariaDB

Este artigo fala de como gerenciar varias versões diferentes instaladas do MariaDB e de como executá-las ao mesmo tempo. Isto é útil ao fazer benchmarking, testes, ou ao desenvolver diferentes versões do MariaDB.

É bem mais facil fazer isto usando os arquivos tar desde downloads.askmonty.org.

Parando um MySQL/MariaDB pre-instalado para que ele não interfera com os testes

Se o MySQL/MariaDB já estiver instalado e executando-se, você tem duas opções:

  1. Usar servidores de prova MariaDB com uma porta e um socket diferente.
    • Neste caso provávelmente é melhor que você crie uma seção específica para o MariaDB no seu arquivo ~/.my.cnf.
  2. Parar mysqld com /etc/rc.d/mysql stop ou mysqladmin shutdown. Note que você não precisa de desinstalar ou remover MySQL!

Como criar uma distribuição binaria (arquivo tar)

Eis aqui uma breve descrição de como gerar um arquivo tar desde uma distruibição fonte. Se você tiver baixado um arquivo binário tar, você pode pular esta seção.

Os passos para criar um arquivo binário tar são:

Você no final tera um arquivo tar nomeado como: mariadb-5.3.2-MariaDB-beta-linux-x86_64.tar.gz

Criando uma estrutura de diretórios para as diferentes instalações

Instale os arquivos binários sob /usr/local/ com os seguintes nomes de diretórios:

  • mariadb-5.1
  • mariadb-5.2
  • mariadb-5.3

Aquilo acima assume que você está testando versões principais do MariaDB. Se você estiver testando versões específicas use nomes de diretório como mariadb-5.3.2

Tendo os diretórios no lugar certo, crie uma ligação simbólica chamada mariadb a qual irá apontar para o diretório mariadb-XXX que você esta testanto no momento. Quando você quiser alternar para outra versão de prova diferente, simplesmente atualize a ligação simbólica.

Exemplo:

cd /usr/local
tar xfz /tmp/mariadb-5.3.2-MariaDB-beta-linux-x86_64.tar.gz
mv -vi mariadb-5.3.2-MariaDB-beta-linux-x86_64 mariadb-5.3
ln -vs mariadb-5.3 mariadb

Configurando o diretório de dados

Quando estiver configurando o diretório de dados, você tem a opção de usar um diretório compartilhado do banco ou de criar um diretório exclusivo do banco para cada versão do servidor. Para testes, um diretório comúm é provávelmente mais fácil. Note que você só pode ter um servidor mysqld rodando para um diretório de dados.

Configurando um diretório comúm de dados

Os passos são os seguintes:

  1. Criar o usuário de sistema mysql se não estiver criado ainda (No Linux você pode fazê-lo com o comando useradd).
  2. Criar o diretório ( nós chamamos ele como mariadb-data no exemplo abaixo) ou adicionar uma ligação simbólica para um diretório que esteja em algum outro lugar.
  3. Criar a tabela de permissões mysql com mysql_install_db
cd /usr/local/
mkdir mariadb-data
cd mariadb
./bin/mysql_install_db --no-defaults --datadir=/usr/local/mariadb-data
chown -R mysql mariadb-data mariadb-data/*

A razão para usar --no-defaults é para garantir que não herdemos opções incorretas de algum antigo arquivo my.cnf.

Configurando diferentes diretórios de dados

Para criar diferentes diretórios de dados para cada instalação:

cd mariadb
./bin/mysql_install_db --no-defaults
chown -R mysql mariadb-data mariadb-data/*

Isto irá criar um diretório de dados dentro do diretório atual.

Se você quiser usar outro disco deveria fazer o seguinte:

cd mariadb
ln -s path-to-empty-directory-for-data data
./bin/mysql_install_db --no-defaults --datadir=./data
chown -R mysql mariadb-data mariadb-data/*

Executando um servidor MariaDB

Os passos normais são:

rm mariadb
ln -s mariadb-5.# mariadb
cd mariadb
./bin/mysqld_safe --no-defaults --datadir=/usr/local/mariadb-data &

Configurando um arquivo .my.cnf para executar varias versões principais do MariaDB

Se você for iniciar/parar o MariaDB muitas vezes, você deveria criar um arquivo ~/.my.cnf para as opções comuns que você estiver usando.

Os seguintes exemplos mostram como usar uma porta TCP e um socket não-padrão (para não interferir com um servidor principal MySQL/MariaDB) e como configurar diferentes opções para cada servidor principal:

[client]
socket=/tmp/mysql.sock
port=3306
[mysqld]
socket=/tmp/mysql.sock
port=3306
datadir=/usr/local/mariadb-data

[mariadb-5.2]
# Options for MariaDB 5.2
[mariadb-5.3]
# Options for MariaDB 5.3

Se você criar um arquivo ~/.my.cnf, você deveria iniciar o mysqld com --defaults-file=~/.my.cnf em vez de --no-defaults nos exemplos acima.

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.