Poupe 15% em todos os serviços de alojamento

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código: Skills Começar a trabalhar
Secções
Administração Linux Servidores Virtuais

Importação e Exportação de Bancos de Dados MySQL: Um Guia Completo

A gestão eficiente de bases de dados é a espinha dorsal de qualquer aplicação web fiável. Quer esteja a realizar cópias de segurança rotineiras, a migrar dados entre servidores ou a configurar um novo ambiente, saber como importar e exportar bases de dados MySQL é uma competência essencial para todo o programador e administrador de sistemas.

Este guia abrangente orienta-o através de cada método, comando e passo de resolução de problemas que necessita para gerir bases de dados MySQL com confiança — desde a linha de comandos até phpMyAdmin.

Por que as operações de importação e exportação MySQL são importantes

As exportações e importações de banco de dados MySQL servem para vários propósitos críticos:

  • Backup e recuperação de desastres — proteja seus dados contra exclusão acidental ou falha do servidor
  • Migração de servidor — mova bancos de dados entre ambientes de hospedagem sem perda de dados
  • Desenvolvimento e staging — clone bancos de dados de produção para fins de teste
  • Controle de versão — faça um snapshot do estado do seu banco de dados antes de atualizações importantes da aplicação

Para que essas operações funcionem sem problemas, sua infraestrutura de hospedagem é importante. Um ambiente VPS Hosting com armazenamento NVMe, acesso root completo e alta taxa de transferência de I/O garante que até mesmo grandes dumps de banco de dados sejam concluídos rapidamente e com confiabilidade.

1. Pré-requisitos: O que você precisa antes de começar

Antes de mergulhar em exportações ou importações, confirme que você tem o seguinte em vigor:

  • Acesso ao servidor MySQL com privilégios de usuário suficientes (SELECT, LOCK TABLES, SHOW VIEW, TRIGGER para exportações; CREATE, INSERT, ALTER para importações)
  • Cliente MySQL instalado na sua máquina local ou servidor
  • Um terminal ou cliente SSH para operações de linha de comando
  • phpMyAdmin (opcional) se preferir uma interface gráfica
  • Espaço em disco suficiente para o arquivo de dump .sql, especialmente para grandes bancos de dados

> Dica profissional: Se você está gerenciando múltiplos bancos de dados em vários projetos, considere um VPS com cPanel para uma experiência de gerenciamento de banco de dados simplificada e baseada em GUI.

2. Exportar uma Base de Dados MySQL

Exportar uma base de dados MySQL gera um ficheiro .sql contendo o esquema completo (estrutura) e dados da base de dados. Este ficheiro pode ser utilizado posteriormente para restaurar ou migrar a sua base de dados.

Método 1: Utilizar a Linha de Comando MySQL (mysqldump)

O utilitário mysqldump é a ferramenta mais fiável e amplamente utilizada para exportar bases de dados MySQL. Funciona directamente a partir do terminal e suporta uma ampla gama de opções.

Passo 1: Abra o seu terminal

Conecte-se ao seu servidor via SSH ou abra uma sessão de terminal local.

Passo 2: Execute o comando mysqldump

mysqldump -u username -p database_name > export_file.sql

Substitua os espaços reservados da seguinte forma:

Espaço ReservadoDescrição
usernameO seu nome de utilizador MySQL (por exemplo, root ou um utilizador DB dedicado)
database_nameO nome da base de dados que deseja exportar
export_file.sqlO nome e caminho desejados para o ficheiro de saída

Passo 3: Introduza a sua palavra-passe MySQL

Será solicitado que introduza a sua palavra-passe. A exportação prosseguirá imediatamente após a autenticação.

Exemplo:

mysqldump -u root -p my_wordpress_db > /home/backups/wordpress_backup_2024.sql

Sinalizadores mysqldump úteis:

# Export all databases
mysqldump -u root -p --all-databases > all_databases.sql

# Export only the database structure (no data)
mysqldump -u root -p --no-data database_name > structure_only.sql

# Compress the output on the fly
mysqldump -u root -p database_name | gzip > export_file.sql.gz

# Export specific tables only
mysqldump -u root -p database_name table1 table2 > partial_export.sql

Método 2: Exportar via phpMyAdmin

phpMyAdmin fornece uma interface gráfica amigável para exportações de bases de dados, ideal para quem prefere não utilizar a linha de comando.

Passo 1: Inicie sessão no phpMyAdmin

Abra o seu navegador e navegue até à sua instalação phpMyAdmin (por exemplo, https://yourdomain.com/phpmyadmin).

Passo 2: Seleccione a sua base de dados

Na barra lateral esquerda, clique na base de dados que deseja exportar.

Passo 3: Navegue até ao separador Exportar

Clique no separador Exportar no menu de navegação superior.

Passo 4: Escolha o seu método de exportação

  • Rápido — Exporta a base de dados inteira com as definições padrão. Adequado para a maioria dos casos de utilização.
  • Personalizado — Permite-lhe seleccionar tabelas específicas, formato de saída, compressão e opções adicionais.

Passo 5: Seleccione o formato SQL

Certifique-se de que o formato está definido como SQL (o padrão). Também pode escolher CSV, XML ou outros formatos dependendo das suas necessidades.

Passo 6: Clique em Ir

phpMyAdmin irá gerar e transferir o ficheiro .sql para a sua máquina local.

3. Importar uma Base de Dados MySQL

Importar um ficheiro .sql restaura uma base de dados previamente exportada para um servidor MySQL. Este é o método padrão para migrações, restauros e implementações.

Método 1: Utilizar a Linha de Comando MySQL

Passo 1: Garantir que a base de dados de destino existe

Antes de importar, a base de dados de destino já deve existir. Se não existir, crie-a:

mysql -u root -p -e "CREATE DATABASE new_database_name;"

Passo 2: Executar o comando de importação

mysql -u username -p database_name < import_file.sql

Substitua os marcadores de posição:

Marcador de PosiçãoDescrição
usernameO seu nome de utilizador MySQL
database_nameA base de dados de destino para importar
import_file.sqlO caminho para o seu ficheiro .sql

Exemplo:

mysql -u root -p my_wordpress_db < /home/backups/wordpress_backup_2024.sql

Importar um ficheiro comprimido:

gunzip < export_file.sql.gz | mysql -u root -p database_name

Passo 3: Verificar a importação

Após a conclusão do comando, inicie sessão no MySQL e verifique os dados:

mysql -u root -p
USE database_name;
SHOW TABLES;

Método 2: Importar via phpMyAdmin

Passo 1: Iniciar sessão no phpMyAdmin

Abra phpMyAdmin no seu navegador.

Passo 2: Selecionar ou criar a base de dados de destino

  • Se a base de dados já existe, clique nela na barra lateral esquerda.
  • Se não, clique em Bases de Dados no menu superior, introduza um novo nome de base de dados e clique em Criar.

Passo 3: Navegar para o separador Importar

Clique no separador Importar no menu de navegação superior.

Passo 4: Escolher o seu ficheiro

Clique em Escolher Ficheiro e selecione o ficheiro .sql do seu computador local.

Passo 5: Configurar as definições de importação

  • Conjunto de caracteres: Certifique-se de que corresponde à codificação da sua base de dados (normalmente utf8mb4)
  • Importação parcial: Útil para retomar importações interrompidas
  • Formato: Deve ser definido como SQL automaticamente

Passo 6: Clique em Ir

phpMyAdmin iniciará o processo de importação. Aguarde a mensagem de confirmação de sucesso verde antes de fechar o separador.

> Nota: phpMyAdmin tem um limite de tamanho de ficheiro de carregamento padrão (normalmente 2MB–128MB). Para bases de dados maiores, utilize o método de linha de comando ou ajuste as definições PHP conforme descrito na secção de resolução de problemas abaixo.

4. Técnicas Avançadas de Exportação e Importação

Automatizar Backups MySQL com Cron Jobs

Para ambientes de produção, exportações manuais não são suficientes. Automatize seus backups de banco de dados usando um cron job:

# Open the crontab editor
crontab -e

# Add this line to run a daily backup at 2:00 AM
0 2 * * * mysqldump -u root -pYourPassword database_name | gzip > /backups/db_$(date +%F).sql.gz

Isso garante que você sempre tenha um backup recente sem intervenção manual.

Migrar Bancos de Dados Entre Servidores

Para migrar um banco de dados diretamente de um servidor para outro sem criar um arquivo intermediário:

mysqldump -u root -p database_name | ssh user@remote_server "mysql -u root -p remote_database"

Isso canaliza a saída do dump diretamente via SSH para a instância MySQL remota — eficiente e rápido em um ambiente de VPS Hosting com alta largura de banda.

Lidar com Bancos de Dados Grandes

Para bancos de dados que excedem vários gigabytes, considere estas otimizações:

# Use single-transaction for InnoDB tables (avoids table locks)
mysqldump --single-transaction -u root -p database_name > export.sql

# Disable foreign key checks during import for speed
mysql -u root -p database_name -e "SET foreign_key_checks = 0;"
mysql -u root -p database_name < import_file.sql
mysql -u root -p database_name -e "SET foreign_key_checks = 1;"

5. Resolução de Erros Comuns de Importação/Exportação MySQL

Erro 1049: Base de Dados Desconhecida

ERROR 1049 (42000): Unknown database 'database_name'

Causa: A base de dados de destino não existe.

Solução: Crie a base de dados antes de importar:

mysql -u root -p -e "CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

Erro 2002: Não é Possível Conectar ao Servidor MySQL

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Causa: O serviço MySQL não está em execução ou o caminho do socket está incorreto.

Solução: Verifique e reinicie o serviço MySQL:

# Check MySQL status
sudo systemctl status mysql

# Start MySQL if it's stopped
sudo systemctl start mysql

# For MariaDB
sudo systemctl start mariadb

Erro 1044: Acesso Negado

ERROR 1044 (42000): Access denied for user 'username'@'localhost' to database 'database_name'

Causa: O utilizador MySQL não possui permissões suficientes.

Solução: Conceda as permissões necessárias:

mysql -u root -p
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

Limite de Tamanho de Ficheiro do phpMyAdmin Excedido

Causa: O ficheiro .sql excede o limite de carregamento do phpMyAdmin.

Solução: Edite o seu ficheiro de configuração PHP (php.ini):

upload_max_filesize = 256M
post_max_size = 256M
max_execution_time = 600
memory_limit = 512M

Após guardar, reinicie o seu servidor web:

sudo systemctl restart apache2
# or
sudo systemctl restart nginx

Alternativamente, mude para o método de importação por linha de comandos, que não tem restrições de tamanho de ficheiro.

Importação Interrompida no Meio (Tempo Limite Excedido)

Causa: Importações grandes excedem os limites de tempo limite do PHP ou MySQL.

Solução: Use a linha de comandos para ficheiros grandes, ou aumente o tempo limite do MySQL:

SET GLOBAL wait_timeout = 28800;
SET GLOBAL interactive_timeout = 28800;

6. Melhores Práticas de Segurança para Exportações e Importações de MySQL

Proteger seus despejos de banco de dados é tão importante quanto criá-los. Siga estas melhores práticas:

  • Criptografe despejos sensíveis — Use GPG para criptografar arquivos exportados antes de armazená-los ou transferi-los:
  gpg --symmetric --cipher-algo AES256 export_file.sql
  • Restrinja permissões de arquivo — Certifique-se de que os arquivos de despejo não sejam legíveis por todos:
  chmod 600 export_file.sql
  • Use usuários MySQL dedicados — Evite usar root para exportações rotineiras. Crie um usuário de backup com privilégios mínimos necessários.
  • Armazene backups fora do servidor — Carregue despejos para um local remoto ou armazenamento de objetos para proteger contra falhas no nível do servidor.
  • Proteja sua conexão — Sempre use SSL/TLS para conexões MySQL remotas. Combine isso com um Certificado SSL válido para proteger dados em trânsito.

7. Escolher o Ambiente de Hospedagem Correto para Operações MySQL

O desempenho das suas operações de importação e exportação MySQL depende muito da sua infraestrutura de hospedagem. Aqui está como diferentes ambientes se comparam:

Tipo de HospedagemMelhor ParaDesempenho MySQL
Hospedagem Web PartilhadaSites pequenos, tráfego baixoLimitado; recursos partilhados
Hospedagem VPSMaioria das aplicações web, programadoresExcelente; recursos dedicados
Servidores DedicadosDBs de alto tráfego, empresariaisMáximo; controlo total do hardware

Para a maioria dos programadores e empresas em crescimento, um VPS oferece o equilíbrio ideal entre desempenho, controlo e custo. Com armazenamento NVMe SSD, acesso root completo e RAM dedicada, pode executar operações mysqldump grandes sem impactar o desempenho da aplicação.

Se a sua aplicação também depende de infraestrutura de email, emparelhar o seu VPS com Hospedagem de Email garante que os seus emails transacionais e de notificação permanecem fiáveis juntamente com as suas operações de base de dados.

Conclusão: Domine a Gestão de Bases de Dados MySQL com Confiança

Importar e exportar bases de dados MySQL é uma competência fundamental que sustenta cópias de segurança, migrações, recuperação de desastres e fluxos de trabalho de desenvolvimento. Quer prefira a precisão da linha de comandos ou a acessibilidade do phpMyAdmin, os métodos abordados neste guia dão-lhe tudo o que precisa para gerir as suas bases de dados de forma segura e eficiente.

Pontos-chave:

  • Use mysqldump para exportações fiáveis e com script, com controlo total sobre as opções
  • Verifique sempre que a base de dados de destino existe antes de importar
  • Automatize cópias de segurança com tarefas cron para ambientes de produção
  • Use importações de linha de comandos para ficheiros grandes para contornar os limites de tamanho do phpMyAdmin
  • Aplique as melhores práticas de segurança para proteger os despejos de bases de dados sensíveis
  • Escolha o ambiente de alojamento certo — um VPS de alto desempenho faz uma diferença mensurável para operações de bases de dados em larga escala

Pronto para assumir o controlo total das suas bases de dados MySQL? Explore Alojamento VPS da AlexHost — com armazenamento NVMe, acesso root e o desempenho que as suas aplicações merecem.