Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como transferir todos os bancos de dados MySQL do servidor antigo para o novo


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.