Desenvolvimento e bases de dados
phpMyAdmin: gerir, exportar e importar bases de dados
O phpMyAdmin é a ferramenta web para gerir bases de dados MySQL. Encontra-a em cPanel > Databases > phpMyAdmin e permite-lhe fazer de tudo com as bases de dados já criadas.
Criar, eliminar ou mudar o nome de uma base de dados faz-se sempre a partir de cPanel > Manage My Databases (antes MySQL® Databases). Se o tentar a partir do phpMyAdmin, a operação será recusada.

O que pode fazer
Ao selecionar uma base de dados na coluna da esquerda, pode:
- Criar, esvaziar, modificar ou eliminar tabelas.
- Ver, criar, editar e eliminar registos (separador Browse de cada tabela).
- Procurar um texto em todas as tabelas ao mesmo tempo (separador Search da base de dados).
- Executar consultas SQL (separador SQL).
- Importar e exportar.
- Copiar uma base de dados ou uma tabela para outra (separador Operations).
- Criar gatilhos (triggers) e eventos.

Se não souber que base de dados o seu site usa, veja o respetivo ficheiro de configuração: no WordPress é DB_NAME em wp-config.php.
Atenção a dois botões parecidos: Empty (Esvaziar) apaga todos os registos da tabela e Drop (Eliminar) apaga a tabela inteira. Nenhum dos dois pode ser desfeito.
Exportar uma base de dados
Selecione a base de dados e abra o separador Export. Obterá uma cópia no momento num ficheiro, no formato que escolher (normalmente SQL).

Há dois modos:
- Quick (Rápido): configuração padrão, suficiente na maioria dos casos. Clique em Go (Executar) e o
.sqlé descarregado. - Custom (Personalizado): permite escolher que tabelas exportar, se inclui estrutura, dados ou ambos, e comprimir o ficheiro em
gzipouzip(muito útil em bases de dados grandes).

Guarde o ficheiro no seu equipamento e não o deixe numa pasta pública do site: contém os dados dos seus clientes e as palavras-passe da aplicação.
Importar uma base de dados
O ficheiro pode ser .sql, ou comprimido em .gz ou .zip.
- Crie a base de dados em cPanel > Manage My Databases e atribua-lhe um utilizador com todos os privilégios.
- Abra o phpMyAdmin e clique nessa base de dados na coluna da esquerda.
- Entre no separador Import.
- Selecione o ficheiro e clique em Go (ou Import).
Antes de importar, abra o .sql com um editor e procure linhas CREATE DATABASE ou USE nombre_base; no início. Apague-as: o phpMyAdmin não lhe permitirá criar a base de dados e, se o ficheiro apontar para outra base, falhará.
Importe para uma base de dados vazia. Se o ficheiro trouxer DROP TABLE, substituirá as tabelas que já existam com o mesmo nome.
Se o ficheiro for demasiado grande
O tamanho máximo aparece no ecrã Import, junto ao botão para escolher o ficheiro. Comprima o .sql em .zip ou .gz: como é texto, costuma ocupar até 90 % menos e o envio é mais rápido.
Se mesmo assim não couber, ou se a importação for interrompida a meio, importe-o a partir do terminal por SSH. Carregue o ficheiro para a conta (fora de public_html) e execute:
mysql -u usuario_bd -p nombre_bd < copia.sql
Se estiver comprimido em .gz:
gunzip < copia.sql.gz | mysql -u usuario_bd -p nombre_bd
Ser-lhe-á pedida a palavra-passe do utilizador da base de dados. Se uma importação falhar a meio, esvazie a base (ou crie-a de novo) antes de repetir, para não duplicar dados. Para erros concretos, veja falha ao importar ou exportar a partir do phpMyAdmin.
Designer
Entre as opções avançadas está o Designer, pouco conhecido mas muito útil: mostra as tabelas e as suas relações como um esquema visual e permite desenhar a estrutura da base de dados. Encontra-o no separador More > Designer da base de dados.

Para duplicar uma base de dados completa, siga como clonar uma base de dados.
Também lhe pode ser útil
- Clonar uma base de dados Duplique uma base de dados MySQL criando primeiro o destino e as suas permissões no cPanel e copiand...
- Consultar a versão do MySQL e verificar a compatibilidade Identifique a versão real do servidor MySQL que a sua aplicação utiliza, reveja a compatibilidade e...
- Converter uma base de dados MyISAM para InnoDB, mudando o motor de armazenamento Converta tabelas MyISAM para InnoDB sobre um clone verificado, reveja o espaço, os índices e as linh...
- Converter uma base de dados de utf8 para utf8mb4 Migre tabelas de utf8 para utf8mb4 numa base de dados clonada, revendo collations e índices e manten...
Algo não bate certo ou mudou? Diga-nos e revemos.