Como alternar entre diferentes versões instaladas do MariaDB
Contents
- Parando um MySQL/MariaDB pre-instalado para que ele não interfera com os testes
- Como criar uma distribuição binaria (arquivo tar)
- Criando uma estrutura de diretórios para as diferentes instalações
- Configurando o diretório de dados
- Executando um servidor MariaDB
- Configurando um arquivo .my.cnf para executar varias versões principais 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:
- 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
.
- Neste caso provávelmente é melhor que você crie uma seção específica para o MariaDB no seu arquivo
- Parar mysqld com
/etc/rc.d/mysql stop
oumysqladmin 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:
- Decidir onde colocar os fontes. Um bom lugar seria em
/usr/local/src/mariadb-5.#
. - Obter os fontes
- Compilar os fontes
- Criar o binário tarball.
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:
- Criar o usuário de sistema
mysql
se não estiver criado ainda (No Linux você pode fazê-lo com o comandouseradd
). - 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. - Criar a tabela de permissões
mysql
commysql_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.