Transferindo ou migrando um MySQL/MariaDB banco de dados entre servidores geralmente leva apenas algumas etapas fáceis, mas a transferência de dados pode levar algum tempo dependendo do volume de dados que você deseja transferir.
Neste artigo, você aprenderá como transferir ou migrar todos os seus arquivos MySQL/MariaDB bancos de dados do servidor Linux antigo para um novo servidor, importe-o com sucesso e confirme se os dados estão lá.
Observações importantes
- Certifique-se de ter a mesma versão do MySQL instalada em ambos os servidores com a mesma distribuição.
- Certifique-se de ter espaço livre suficiente em ambos os servidores para armazenar o arquivo de despejo do banco de dados e o banco de dados importado.
- Nunca pense em mover os
data
diretório do banco de dados para outro servidor. Nunca mexa com a estrutura interna do banco de dados, se o fizer, enfrentará problemas no futuro.
Exportar um banco de dados MySQL para arquivo de despejo
Primeiro comece fazendo login em seu servidor antigo e pare o serviço mysql/mariadb usando o systemctl comando como mostrado.
# systemctl stop mariadb OR # systemctl stop mysql
Em seguida, despeje todo o seu MySQL bancos de dados para um único arquivo usando o comando mysqldump.
# mysqldump -u [user] -p --all-databases > all_databases.sql
Quando o dump estiver concluído, você estará pronto para transferir os bancos de dados.
Se você quiser despejar um único banco de dados, você pode usar:
# mysqldump -u root -p --opt [database name] > database_name.sql
Transferir o arquivo de despejo de bancos de dados MySQL para um novo servidor
Agora use o comando scp para transferir o arquivo de despejo do banco de dados para o novo servidor no diretório inicial, conforme mostrado.
# scp all_databases.sql [email protected]:~/ [All Databases] # scp database_name.sql [email protected]:~/ [Singe Database]
Assim que você se conectar, o banco de dados será transferido para o novo servidor.
Importar arquivo de despejo de banco de dados MySQL para novo servidor
Depois que o arquivo de despejo do MySQL for transferido para o novo servidor, você poderá usar o seguinte comando para importar todos os seus bancos de dados para o MySQL.
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
Quando a importação estiver concluída, você poderá verificar os bancos de dados em ambos os servidores usando o seguinte comando no shell do mysql.
# mysql -u user -p # show databases;
Transferir bancos de dados e usuários MySQL para um novo servidor
Se você deseja mover todos os seus bancos de dados MySQL, usuários, permissões e estrutura de dados do servidor antigo para o novo, você pode usar o comando rsync para copiar todo o conteúdo do diretório de dados mysql/mariadb para o novo servidor, conforme mostrado.
# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/
Assim que a transferência for concluída, você pode definir a propriedade do diretório de dados mysql/mariadb para usuário e grupo mysql, e então fazer uma listagem de diretórios para verificar se todos os arquivos foram transferidos.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
Isso é tudo! Neste artigo, você aprendeu como migrar facilmente todos os bancos de dados MySQL/MariaDB de um servidor para outro. Como você encontra esse método em comparação com outros métodos? Gostaríamos de ouvi-lo através do formulário de comentários abaixo para entrar em contato conosco.