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.