Atualizando para outra arquitetura


Se você estiver usando o MariaDB Versão 3.23, você pode copiar os arquivos .frm, .MYI e .MYD para tabelas MyISAM entre diferentes arquiteturas que suportem o mesmo formato de ponto flutuante. (O MariaDB cuida de cada detalhe de troca de bytes.) Leia "Tabelas MyISAM".

Os arquivos ISAM de dados e índices (*.ISD e *.ISM respectivamente) são dependentes da arquitetura e em alguns casos dependentees do Sistema Operacional. Se você deseja mover suas aplicações para outra máquina que tem uma arquitetura ou SO diferentes da sua máquina atual, você não deve tentar mover um banco de dados simplesmente copiando os arquivos para a outra máquina. Use o mysqldump.

Por padrão, o mysqldump irá criar um arquivo contendo declarações SQL. Você pode então transferir o arquivo para a outra máquina e alimentá-la como uma entrada para o cliente MariaDB.

Utilize mysqldump --help para ver quais opções estão disponíveis. Se você está movendo os dados para uma versão mais nova do MariaDB, você deve usar mysqldump --opt com a nova versão para obter uma descarga rápida e compacta.

A mais fácil (mas não a mais rápida) forma para mover um banco de dados entre duas máquinas é executar os seguintes comandos na máquina em que o banco de dados se encontra:

shell> mysqladmin -h 'nome da outra maquina' create nome_bd
shell> mysqldump --opt nome_bd \
 | mysql -h 'nome da outra maquina' nome_bd

Se você deseja copiar um banco de dados de um máquina remota sobre uma rede lenta, pode ser usado:

shell> mysqladmin create nome_bd
shell> mysqldump -h 'nome de outra maquina' --opt --compress nome_bd \
 | mysql nome_bd

O resultado pode também ser armazenado em um arquivo, depois transfira o arquivo para a máquina destino e carregue o arquivo no banco de dados. Por exemplo você pode descarregar um banco de dados para um arquivo na máquina origem desta forma:

shell> mysqldump --quick nome_bd | gzip > nome_bd.contents.gz

(O arquivo criado neste exemplo está compactado.) Transfria o arquivo contendo o conteúdo do banco de dados para a máquina destino e execute estes comandos:

shell> mysqladmin create nome_bd
shell> gunzip < nome_bd.contents.gz | mysql nome_bd

Também pode ser usado mysqldump e mysqlimport para ajudar na transferência do banco de dados. Para grandes tabelas, isto é muito mais rápido do que usar simplesmente mysqldump. Nos comandos abaixo, DUMPDIR representa o caminho completo do diretório que você utiliza para armazenar a saída de mysqldump.

Primeiro, crie o diretório para os arquivos de saída e descarregue o banco de dados:

shell> mkdir DUMPDIR
shell> mysqldump --tab=DUMPDIR nome_bd

Depois transfira os arquivo no diretório DUMPDIR para algum diretório correspondente na máquina destino e carregue os arquivos no MariaDB assim:

shell> mysqladmin create nome_bd # cria o banco de dados
shell> cat DUMPDIR/*.sql | mysql nome_bd # cria tabelas no banco de dados
shell> mysqlimport nome_bd DUMPDIR/*.txt # carrega dados nas tabelas

Não se esqueça de copiar o banco de dados MariaDB também, porque é nele que as tabelas de permissões (user, db e host) são armazenadas. Você pode ter que executar comandos como o usuário root do MariaDB na nova máquina até que você tenha o banco de dados MariaDB no lugar.

Depois de importar o banco de dados MariaDB para a nova máquina, execute mysqladmin flush-privileges para que o servidor recarregue as informações das tabelas de permissões.

Retornar