Capítulo 12 · 12.5
Importar uma base de dados, incluindo ficheiros grandes
Uma importação coloca uma exportação (um ficheiro .sql ou .sql.gz) numa base de dados. Isto é útil, por exemplo, quando muda um website de outro fornecedor para a WebOké ou quando pretende repor uma exportação feita anteriormente.
Antes de começar
- Crie primeiro a base de dados (consulte Criar um banco de dados). Normalmente, a importação contém apenas o conteúdo e não a própria base de dados.
- Vai importar para uma base de dados existente? Nesse caso, faça primeiro uma exportação do conteúdo atual (consulte Exportar um banco de dados). As tabelas com o mesmo nome serão substituídas.
- O ficheiro contém uma linha CREATE DATABASE ou USE com outro nome de base de dados? Nesse caso, a importação apresenta um erro de permissões. Remova essas linhas ou exporte novamente no fornecedor antigo sem esses comandos.
Importar no DirectAdmin
- Aceda a Bancos de dados e, junto à base de dados, clique em Gerenciar.
- Em Operações de banco de dados, clique em Importar e selecione no seu computador o ficheiro .sql ou .gz.
- O DirectAdmin pergunta: "Continuar a importação de ficheiro para base de dados?". Se pretender esvaziar primeiro toda a base de dados, ative Banco de dados vazio (1): todo o conteúdo atual será eliminado antes da importação. Isto é útil quando pretende substituir completamente uma versão antiga.
- Clique em SIM (2). Após a importação, verá o número de tabelas em Visão geral.

Importar no phpMyAdmin
- Abra o phpMyAdmin (consulte Abrir e utilizar o phpMyAdmin) e, à esquerda, clique na base de dados para a qual pretende importar.
- Clique no separador Import, na parte superior.
- Em File to import, clique em Browse e selecione o seu ficheiro. Ao lado do botão é indicado o tamanho máximo permitido para o ficheiro (1). Na WebOké, este limite é de 1024 MiB (1 GB).
- Mantenha as restantes opções e clique em Import, na parte inferior.

Importar um ficheiro de base de dados grande
O seu ficheiro é maior do que a importação permite, ou a importação para a meio por ter sido excedido o tempo limite (o que, com ficheiros grandes, pode acontecer mesmo abaixo de 1 GB)? Nesse caso, experimente o seguinte, do mais simples para o mais complexo:
- Comprima o ficheiro. Um ficheiro .sql fica muitas vezes cinco a dez vezes mais pequeno em formato .sql.gz, e tanto o DirectAdmin como o phpMyAdmin conseguem ler ficheiros .gz diretamente. No seu computador, pode criar um ficheiro .gz, por exemplo, com o 7-Zip (Windows) ou com gzip bestand.sql (Mac e Linux).
- Importe-o por partes. No fornecedor antigo, exporte as tabelas grandes em separado ou divida o ficheiro com um programa que divida ficheiros SQL. Em seguida, importe as partes uma de cada vez, pela ordem correta.
- Utilize SSH. Se tiver um pacote com SSH (Power Webhost Three e Four, AI Wordpress Three e Power Reseller), carregue o ficheiro por FTP para a pasta principal do seu pacote (não em public_html) e importe-o no Terminal de comando com mysql -u gebruiker -p databasenaam < bestand.sql (consulte Terminal de comando no seu browser). Aí não existe tamanho máximo.
- Peça-nos ajuda. Se não conseguir, abra um ticket. Coloque o ficheiro na pasta principal do seu pacote e indique o nome do ficheiro e a base de dados. Nós fazemos a importação por si.
Atenção: Nunca coloque um ficheiro de base de dados em public_html. Caso contrário, qualquer pessoa que adivinhe o nome pode descarregá-lo, com todos os dados do seu website e dos seus clientes. Elimine também o ficheiro da pasta principal assim que a importação estiver concluída.
Após a importação
- O nome da base de dados, o utilizador e a palavra-passe estão corretos no ficheiro de configuração do seu website (consulte Utilizadores de bases de dados, permissões e palavras-passe)?
- O endereço do seu website mudou, por exemplo de um endereço temporário para o seu próprio domínio? Nesse caso, substitua-o em toda a base de dados com o WP-CLI ou com um plugin de pesquisa e substituição que suporte dados serializados (ver abaixo). Apenas siteurl e home podem, se necessário, ser primeiro alterados manualmente no phpMyAdmin (consulte Abrir e utilizar o phpMyAdmin).
Atenção: dados serializados. Para alterar um endereço ou caminho, nunca utilize Find and replace no phpMyAdmin, um comando SQL como REPLACE ou a pesquisa e substituição no próprio ficheiro .sql. O WordPress e muitos plugins guardam definições como dados PHP serializados, incluindo o comprimento de cada texto. Se esse comprimento deixar de estar correto após a substituição, o PHP não consegue ler os dados e podem desaparecer, por exemplo, o seu menu, logótipo ou widgets. Utilize o WP-CLI (wp search-replace, primeiro com --dry-run) ou um plugin adequado. Saiba como fazê-lo em Pesquisar e substituir na base de dados do WordPress.
