Importe bancos de dados MySQL. Exportando e importando um banco de dados no PHPMyAdmin

24.03.2023

Boa tarde amigos, hoje vamos aprender a fazer... Por que isso é necessário, você pode perguntar. Em primeiro lugar exportação de banco de dados deve ser feito periodicamente para que em situações de emergência você não perca informações importantes. A exportação será um pequeno arquivo no qual serão armazenadas todas as informações do banco de dados. Para exportação de banco de dados


você precisa ir ao PHPMyAdmin e clicar no banco de dados de seu interesse. Depois disso, você verá todas as tabelas contidas nele e, sem entrar nelas, clique no botão do menu chamado exportar. A seguinte página aparecerá na sua frente: Eu aconselho você a escolher maneira rápida exportar, e também indicar no formato SQL


. Depois disso você pode clicar em ok. Uma janela aparecerá na sua frente na qual será solicitado que você salve o arquivo.
Você salva o arquivo no local que precisar, o principal é lembrar onde você salvou, pois é muito importante para nós. Quanto ao método normal de exportação. Você também pode usá-lo se precisar, há muitos configurações adicionais , que você pode especificar ao exportar. Por exemplo, selecione as tabelas necessárias no banco de dados, especifique a codificação e muito mais. Se você estiver interessado esta configuração
, Você pode assistir. Mas não nos aprofundaremos neste cenário.
Depois de salvar o arquivo em seu computador, solicitarei que você exclua o banco de dados. Não vou te explicar como fazer isso, porque já passamos por isso. Não tenha medo de deletar, nós devolveremos tudo ao seu lugar com você. É hora de ficar ocupado importação de banco de dados


. Vá para o menu de importação.


Selecionamos uma visão geral do seu computador e indicamos o caminho para o nosso arquivo. E clique em ok. Como você pode ver, um erro apareceu na sua frente. Não se assuste, a questão é que não importamos o banco de dados em si, mas apenas todas as suas tabelas. Portanto, primeiro crie um banco de dados, entre nele e clique no botão importar, tendo feito todos os itens acima. Ao pressionar o botão ok, tudo dará certo e, se você fez tudo corretamente, nenhum erro deverá aparecer. Como você pode ver, nossa tabela reapareceu em seu lugar e todos os dados nela contidos foram salvos. Agora você entende que oportunidade maravilhosa exportar e importar banco de dados no PHPMyAdmin . Afinal, se você perder em um dia todas as suas conquistas ao longo de muitos anos, graças a este arquivo

Você pode recuperar tudo. Com isso me despeço de você e até breve.

Hoje continuarei apresentando a você como trabalhar com MySQL no console e na linha de comando do MySQL.

Já escrevi artigos sobre como realizar ações básicas com dados MySQL através do console e como fazer backup do banco de dados MySQL, bem como exportar as informações nele armazenadas.

A continuação lógica desta história será a restauração do banco de dados e das informações nele armazenadas usando operações de importação de banco de dados Dados MySQL. E, o mais importante, continuaremos fazendo isso usando a ferramenta de todos os verdadeiros desenvolvedores – por meio do console.

Se precisar de instruções para importar um banco de dados via phpMyAdmin, você pode encontrá-las no artigo sobre. No artigo atual, não estou ansioso para descrevê-lo novamente, especialmente porque o material de hoje será dedicado exclusivamente à importação do banco de dados MySQL através do console.

Mas, antes de começarmos a revisar métodos e ferramentas, algumas palavras sobre o que é importar um banco de dados MySQL, como é e qual a melhor forma de fazê-lo?

Importando um banco de dados MySQL: o que e por quê?

Importar um banco de dados MySQL é uma operação que preenche o banco de dados com informações. Nesse caso, a fonte de dados é um arquivo de despejo - um instantâneo de outro banco de dados criado automaticamente durante a operação de exportação ou um script SQL especialmente preparado.

Na importação, assim como na exportação do banco de dados MySQL, existem dois tipos de informações armazenadas no banco de dados:

  1. a estrutura do banco de dados, suas tabelas e os dados nelas armazenados (comumente chamado de dump do banco de dados);
  2. simplesmente dados armazenados em uma tabela ou coletados usando SELECIONAR pedidos.

Este artigo discutirá ambas as opções.

Para restaurar um banco de dados MySQL com sua estrutura e todas as informações armazenadas de um dump, como já mencionado, você precisa de um arquivo dump de banco de dados, que é um arquivo de texto com qualquer extensão (pode ser pré-compactado em um arquivo para reduzir o tamanho) contendo Comandos SQL criar o próprio banco de dados e tabelas, bem como preenchê-los com informações.

Portanto, para restaurar um banco de dados MySQL de um dump, você precisa executar os comandos contidos no arquivo.

Para recuperação regular de dados, tais complicações não são necessárias. Basta ter disponível um arquivo de teste, cujas informações serão estruturadas da mesma forma que na tabela do banco de dados: o número de colunas com informações corresponde ao número de atributos dos registros da tabela.

Para estes fins, um normal também é adequado. arquivo txt, os dados nos quais serão divididos, ou arquivos criados em especial editores de planilhas (Microsoft Office Excel, OpenOffice, etc.) com uma excelente extensão: xls, csv, odt, etc.

Esses formatos são ainda preferíveis, porque Ao criá-los, os delimitadores de dados são adicionados automaticamente pelos editores, não havendo necessidade de inseri-los separadamente, como no caso de um arquivo de texto normal.

Adicionando dados ao MySQL: ferramentas

Em relação às ferramentas para importação de banco de dados MySQL, posso dizer que hoje existem três delas.

Vou listá-los, começando pelo nível mais baixo e terminando no nível mais alto (do ponto de vista do uso de todos os tipos de shells e complementos):

  1. Console do servidor e linha de comando MySQL;
  2. Scripts escritos em linguagens de programação que permitem gravar dados no MySQL usando ferramentas de linguagem;
  3. Programas prontos que fornecem uma interface visual para trabalhar com o banco de dados (o mesmo phpMyAdmin, MySQL WorkBench, MySQL Manager, etc.).

Acho que a ordem das ferramentas não vai levantar dúvidas para ninguém, porque... As ferramentas de linguagem de programação, via de regra, funcionam com base em comandos do console MySQL, e os programas são baseados em scripts ou funcionam diretamente com o MySQL a partir da linha de comando.

De uma forma ou de outra, a consola está na vanguarda de tudo, e as restantes ferramentas são, na verdade, os seus emuladores.

Portanto, usar o console ao importar dados para o MySQL permite contornar vários tipos de restrições definidas pelas configurações das linguagens de programação em Servidor web e os próprios programas (que, aliás, nem sempre podem ser alterados).

Devido a isso, você pode não apenas carregar um banco de dados MySQL através do console mais rapidamente, mas também tornar esta operação possível em princípio, porque Scripts e programas tendem a interromper as importações quando o tempo máximo de execução do script é atingido ou nem sequer iniciam devido ao tamanho do arquivo baixado.

Acho que todo mundo que já tentou carregar um dump em um banco de dados MySQL tamanho grande via phpMyAdmin, eles entendem do que estou falando.

Muitas vezes esses limites são a causa de erros ao importar um banco de dados MySQL, que você nunca verá ao usar o console.

Eles, é claro, não são constantes e podem ser alterados, mas isso é uma dor de cabeça adicional, que, aliás, pode não ter solução para usuários comuns.

Espero ter motivado você a importar o banco de dados MySQL através do console (tanto sua estrutura quanto seus dados individuais).

E com esta nota positiva, passamos para a tão esperada prática e consideramos métodos e comandos para transferência de dados do console para o banco de dados.

Como restaurar um banco de dados MySQL de um dump através do console?

Portanto, para implantar um dump do MySQL a partir do console, existem duas maneiras:

  1. usando o comando em linha de comando MySQL;
  2. no próprio console do servidor.

Vamos começar em ordem.

Portanto, para importar um dump de banco de dados MySQL para um armazenamento existente via , primeiro precisamos iniciá-lo e selecionar o banco de dados desejado no qual carregaremos nosso dump.

A implementação dessas ações está descrita detalhadamente no artigo vinculado acima, portanto, se precisar de uma descrição delas, retire-as daí, pois Não quero duplicá-los para o segundo turno.

Depois de fazer o acima, digite o seguinte comando no MySQL Shell:

Fonte path_and_dump_file_name;

Resta-nos estudar as mensagens do console sobre o andamento das operações contidas no dump.

Sem primeiro mudar para o banco de dados desejado, após conectar-se ao servidor MySQL no console, o dump pode ser importado com o seguinte comando:

Mysql -u nome de usuário -p nome_do_banco de dados< путь_и_имя_файла_дампа

É isso. O principal é aguardar o término da importação se o arquivo for muito grande. A conclusão do upload do dump pode ser avaliada quando o console do servidor estiver disponível novamente.

Na verdade, esta é a desvantagem este método em comparação com o anterior, porque no primeiro é possível monitorar as operações realizadas no banco de dados durante a importação, mas no segundo não.

Se o arquivo de despejo estiver compactado em um arquivo, durante o download ele precisará ser descompactado ao mesmo tempo.

No Linux isso pode ser feito assim:

Gunzip > [nome_do_arquivo_arquivo.sql.gz] | mysql -u -p

EM Padrão do Windows Não há utilitário para descompactar o arquivo no console, portanto ele precisará ser instalado adicionalmente.

Como você pode ver, importar um dump MySQL através do console é uma operação muito simples, executada com um comando. Portanto, você não precisa ser um desenvolvedor para realizar este procedimento.

Se de repente você não souber como iniciar o console do servidor, poderá encontrar essas informações no artigo sobre a linha de comando do MySQL, cujo link já postei anteriormente.

Aliás, utilizando os métodos descritos também é possível importar uma tabela MySQL, e não o banco de dados inteiro. Nesse caso, o dump que você carrega deve conter as operações de criação e preenchimento de dados.

Carregando dados em um banco de dados MySQL a partir de um arquivo no console

Falamos sobre como restaurar um banco de dados MySQL a partir de um dump no console. Agora é a hora de descobrir como você pode importar dados de arquivos, incluindo xls e csv, para um banco de dados MySQL.

Para esta tarefa, temos novamente as mesmas duas ferramentas do caso anterior: a linha de comando do MySQL e o console do servidor.

Vamos começar a revisão em ordem novamente.

Assim, para importar um arquivo na linha de comando do MySQL, executamos novamente e vamos até o banco de dados onde os dados serão carregados.

CARREGAR DADOS NO ARQUIVO "caminho_e_nome_do_arquivo_despejo" NA TABELA `database_table` COLUNAS TERMINADAS POR "," INCLOSED BY "\"" LINHAS TERMINADAS POR "\n";

Não esqueça que se o servidor MySQL foi iniciado com a opção --secure-arquivo-priv(o que geralmente acontece ao usar distribuições MySQL incluídas em assemblies WAMP/MAMP), então o nome do arquivo deve ser especificado levando em consideração a variável do sistema arquivo_seguro_priv.

Para importar um banco de dados MySQL para o console do servidor sem entrar no MySQL Shell, precisaremos do utilitário importação mysql, incluído na distribuição do MySQL, e sua seguinte chamada:

mysqlimport –u nome_do_usuário –p nome_do_banco de dados nome_e_caminho_para_arquivo_de_importação

Este utilitário é análogo ao comando SQL CARREGAR DADOS NO ARQUIVO, apenas para linha de comando. Mas surge a pergunta: por que então entre os parâmetros de sua chamada não está a tabela na qual serão carregados os dados do arquivo?

O fato é que o mysqlimport simplesmente não possui fisicamente este parâmetro. Em vez disso, o nome da tabela na qual os dados serão carregados deverá aparecer no nome do arquivo importado.

Aqueles. se você deseja importar uma tabela Excel para uma tabela MySQL Usuários, então seu arquivo deve ser chamado usuários.xls.

A extensão do arquivo importado, como já mencionado, pode ser qualquer coisa.

Com mysqlimport você também pode carregar vários arquivos xls ou csv no MySQL de uma só vez. Para que os dados cheguem ao seu destino, os nomes dos arquivos e das tabelas do banco de dados, como no exemplo anterior, também devem corresponder.

Se de repente as colunas do arquivo importado não estiverem na mesma sequência das colunas da tabela do banco de dados, para esclarecer sua ordem, você precisará usar a opção —columns no seguinte formato:

Mysqlimport –u nome_do_usuário –p nome_do_banco de dados --colunas coluna1, coluna2, ... nome_e_caminho_para_arquivo_de_importação

Naturalmente, nos meus exemplos não considerei lista completa Parâmetros mysqlimport, porque alguns deles são muito específicos e raramente usados ​​na prática.

Se você quiser se familiarizar com eles, a lista completa está disponível aqui - https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

Recursos de carregamento de dados em um banco de dados MySQL a partir de um dump

Se você deseja que o processo de importação de um grande banco de dados MySQL seja mais rápido, você precisa criar um dump do banco de dados usando opções especiais do comando mysqldump, sobre o qual escrevi em meu artigo anterior sobre como exportar um banco de dados MySQL, cujo link foi postado no texto anteriormente.

Infelizmente, os próprios comandos de importação do banco de dados MySQL não possuem essas opções.

A única coisa é que para aumentar a velocidade ao carregar um grande despejo de banco de dados, você pode usar o seguinte recurso.

1. Abra o arquivo de despejo (de preferência em gerenciadores de arquivos, porque editores regulares podem simplesmente ficar sobrecarregados com arquivos grandes).

2. Escreva as seguintes linhas no início do arquivo:

SET Foreign_key_checks = 0; DEFINIR UNIQUE_CHECKS = 0; DEFINIR AUTOCOMMIT = 0;

Prestar atenção! Eles podem já estar lá ou comentados (muitos programas que fazem dumps podem adicioná-los automaticamente)

3. No final do arquivo escrevemos as ações inversas:

SET Foreign_key_checks = 1; DEFINIR UNIQUE_CHECKS = 1; DEFINIR AUTOCOMMIT = 1;

Aliás, esses comandos vão ajudar não só a agilizar o processo de importação, mas também a viabilizá-lo.

O fato é que se você já olhou o arquivo dump para importar um banco de dados MySQL, deve ter notado que a operação de configuração da estrutura das tabelas carregadas é assim:

DROP TABLE IF EXISTS `clientes`; CRIAR TABELA `clientes` (...);

Aqueles. é realizada uma busca no banco de dados por uma tabela com o mesmo nome daquela que está sendo importada e, caso seja encontrada, ela é excluída e criada novamente.

E se de repente tabela existente será vinculado por chaves estrangeiras a outros, então todo o download falhará.

Portanto, desabilitar a verificação de existência de chaves estrangeiras e outras também é uma excelente garantia de conclusão com sucesso do processo de importação do banco de dados MySQL.

Recursos de importação de csv para banco de dados MySQL e outros arquivos

Ao carregar dados em um banco de dados MySQL a partir de arquivos de texto, você também pode precisar desabilitar chaves estrangeiras.

Além disso, ao contrário da situação anterior, neste caso não será possível escrever diretivas no arquivo, pois Comandos SQL nele não serão aceitos e executados.

Em um artigo anterior sobre exportação de um banco de dados MySQL, já mencionei como fazer isso usando a seguinte operação na linha de comando do MySQL:

DEFINIR FOREIGN_KEY_CHECKS=0;

No entanto, eu não mencionei lá que a variável de sistema MySQL FOREIGN_KEY_CHECKS tem dois significados: global e sessional (para a sessão atual).

O valor global das variáveis ​​MySQL é válido para qualquer ação no servidor MySQL até que ele seja reiniciado. Em seguida, os valores das variáveis ​​​​serão redefinidos e serão atribuídos valores padrão.

O valor da sessão da variável de sistema MySQL é definido apenas durante a sessão do usuário com o servidor MySQL. Uma sessão ou sessão começa quando um cliente se conecta ao servidor, momento em que é atribuído um nome exclusivo ID de conexão e termina quando desconectado do servidor, o que pode acontecer a qualquer momento (por exemplo, devido a um tempo limite).

Por que decidi me lembrar disso?

Porque ao executar comandos para carregar um arquivo em um banco de dados MySQL através do console do servidor, sem entrar no MySQL Shell, descobri que desabilitar a verificação de chave estrangeira usando o método descrito anteriormente não funciona.

O console ainda apresentava mensagem de erro causada pela presença de chaves estrangeiras na tabela.

E surgiu porque o comando acima desabilitava a verificação da existência de chaves estrangeiras dentro da sessão, e não globalmente, o que, além disso o método especificado, também pode ser feito da seguinte forma:

SET SESSION nome_variável = valor_variável; SET @@session.variable_name = valor_variável; SET @@nome_variável = valor_variável;

Nos comandos acima, a variável está claramente marcada como sessão.

E, como eu estava carregando um arquivo csv em uma tabela MySQL através do console do servidor, sem uma conexão direta com o servidor MySQL, não foi criada uma sessão dentro da qual o valor da minha variável de sessão funcionaria.

Acabei definindo FOREIGN_KEY_CHECKS como global e a importação foi bem-sucedida.

Você pode fazer isso de uma das seguintes maneiras:

SET GLOBAL nome_variável = valor_variável; SET @@global.nome_variável = valor_variável;

Após alterar os valores, é uma boa ideia revisar os valores da variável para verificar se as alterações tiveram efeito. Para exibir valores de sessão e globais simultaneamente, use o seguinte comando:

SELECIONE @@GLOBAL.foreign_key_checks, @@SESSION.foreign_key_checks;

Isso conclui o artigo de hoje sobre como importar um banco de dados MySQL. Compartilhe suas impressões e seus próprios desenvolvimentos nos comentários. Acho que muitos se interessarão pela sua experiência.

Vejo você de novo! 🙂

P.S.: se você precisa de um site ou precisa fazer alterações em um já existente, mas não há tempo ou vontade para isso, posso oferecer meus serviços.

Mais de 5 anos de experiência desenvolvimento profissional sites. Trabalhando com PHP, OpenCart,

Ao migrar um site de servidor local para hospedagem, um dos procedimentos obrigatórios é a exportação/importação da base de dados (banco de dados). Portanto, neste artigo tentarei descrever com o máximo de detalhes possível o processo de exportação e importação de um banco de dados de um servidor local, ou seja, da interface web PHPMeuAdmin versão 3.2.3 para hospedagem.

A primeira coisa a fazer é iniciar um servidor local, neste caso o Denwer. Após iniciar o Denwer, você precisa abrir seu navegador e digitar na linha do navegador: “http://localhost/tools/phpmyadmin”, após o qual uma janela será aberta na sua frente(Fig.1)com criado anteriormente bancos de dados.

Figura 1

A seguir precisamos selecionar o banco de dados que iremos exportar, no meu caso é um banco de dados chamado Mybd. Você pode selecionar um banco de dados clicando nele no lado esquerdo da janela do navegador, onde está escrito “Por favor, selecione um banco de dados” (Fig. 2).


Figura 2

Após selecionar o banco de dados desejado, será aberta uma janela com a estrutura do banco de dados. EM menu superior há um ponto "Exportar" com a ajuda do qual exportaremos o banco de dados para um computador e depois importaremos para a hospedagem. E então, vá até o item “Exportar” (Fig.3).


Figura 3

Na janela que se abre você precisa fazer algumas medições (Fig.4), a saber: no bloco “Exportar” você precisa selecionar todas as tabelas do banco de dados clicando no item "Selecionar tudo" e marque a caixa ao lado do item exportar, e também indicar no formato, este item é responsável pelo tipo de arquivo que será exportado. Além disso, você precisa marcar a caixa ao lado de "Salvar como arquivo", o que garantirá que o banco de dados seja salvo em um arquivo. Não há necessidade de alterar nenhuma outra configuração, basta pressionar o botão "Ir".

Figura 4

Agora, se você fez tudo corretamente, o arquivo do banco de dados deverá ser baixado para o seu computador. Utilizando este arquivo iremos importar o banco de dados para a hospedagem.

Além disso, você precisa alterar a codificação do arquivo para UTF-8 sem BOM, para alterar a codificação que uso editor de texto Bloco de notas++(Download ) . Usando este programa você abre o arquivo de banco de dados e no menu "Codificação" escolher “Converter para UTF-8 sem BOM” (Fig. 5), salve e feche.


Figura 5

Quando você começa a criar um site, geralmente o faz em um servidor local. Quando estiver pronto, precisará ser movido para servidor remoto. Copiar arquivos não é difícil, mas veja como importar banco de dados para um servidor remoto? Quase como importar um banco de dados para PHPMyAdmin, vou explicar para você neste artigo.

Existem muitas maneiras importação de banco de dados Porém, direi o que considero o mais simples e aquele que eu mesmo uso.

Etapa 1

A primeira coisa que você precisa fazer é exportar banco de dados da sua localização atual (especificamente um servidor local). Nosso objetivo é conseguir Consulta SQL nosso banco de dados. Para fazer isso, você precisa fazer o seguinte:

Etapa 2

O segundo e último passo é fazer Consulta SQL, que você copiou, para PHPMeuAdmin, que está localizado no servidor onde você precisa importar banco de dados. Para fazer isso, siga estas etapas:

Como resultado, todas as suas tabelas com todos os registros serão criadas no novo servidor.

Como você pode ver, o processo exportando e importando um banco de dados no PHPMyAdmin simplificado ao mínimo, então não haverá problemas com isso.

Por fim, gostaria de lhe dar mais um conselho. O fato é que muitas vezes surge uma situação em que você precisa não importe todo o banco de dados, mas, por exemplo, apenas uma tabela. Então o princípio é absolutamente o mesmo, só que ao exportar você precisa selecionar não só o banco de dados, mas também a tabela a ser exportada. E novamente no menu superior clique em " Exportar". Então tudo é igual importação de banco de dados.

Este procedimento envolve a transferência de dados de um banco de dados (A) para outro (B). Via de regra, o banco de dados B está localizado na hospedagem (ou em Denver), e o banco de dados A está localizado no computador do usuário e é um arquivo com extensão sql. O banco de dados A tem outro nome - Dump.

Como importar um banco de dados?

Importando um banco de dados MySQL usando SSH

Este método raramente é usado, mas iremos descrevê-lo. Primeiramente, preencha o banco de dados do qual será importado para o servidor do provedor de hospedagem, onde estão armazenados os arquivos do seu site. A seguir, para importar o banco de dados, use o comando:

mysql -uUSERNAME -pUSERPASSWORD DBNAME< DUMPFILENAME.sql

mysql --user=NOME DE USUÁRIO --password=SENHA DE USUÁRIO DBNAME< DUMPFILENAME.sql

Em vez de palavras escritas em letras maiúsculas, substituímos:
USERNAME - nome de usuário do banco de dados, por exemplo uhosting_databaseuser;

USERPASSWORD - senha do usuário do banco de dados, por exemplo Rjkweuik12;

DBNAME - nome do banco de dados para o qual será feita a importação, por exemplo uhosting_databasename

DUMPFILENAME - nome do arquivo dump do qual os dados serão importados. Aqui também precisamos especificar o caminho para o banco de dados que carregamos no servidor do provedor de hospedagem.