Fazendo backup e restaurando bancos de dados MySQL (versão do Windows)

Página atualizada :
Data de criação de página :

Ambiente operacional

MySQL
  • MySQL 8.0 Edição Comunitária
Windows
  • Janelas 11

Pré-requisitos

MySQL
  • MySQL 8.0
Windows
  • Janelas 11
  • Janelas 10
Servidor Windows
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

pré-condição

  • Um banco de dados para MySQL está instalado.
  • O banco de dados do qual será feito backup já existe.
  • Você definiu variáveis de ambiente para que você possa executar o mysql a partir do prompt de comando.

Quais são os tipos de backups?

Embora não discutido em detalhes aqui, o MySQL tem os seguintes tipos de backups:

Comandos de
backupTipos de dados de backupComentários
mysqldump Backups lógicos Um método de backup antigo. A GUI também usa isso
mysqlpump Backups lógicos Versão melhorada do mysqldump
Utilitário de despejo de instância do shell do MySQL e utilitário de carregamento de despejo Backups lógicos O backup lógico mais recente no momento
Percona XtraBackup Backups físicos Suporte de terceiros para backup físico
PLUGIN DE CLONAGEM Backups físicos Backups físicos oficiais do MySQL. No entanto, você precisa adicionar um plug-in.

Fazendo backup de bancos de dados com a GUI (MySQL Workbench)

Se você quiser operar com segurança na GUI sem usar comandos, você pode fazer backup com o MySQL Workbench. O tipo de backup realizado pelo MySQL Workbench será "mysqldump".

Inicie o MySQL Workbench.

Selecione a conexão que contém o banco de dados do qual você deseja fazer backup.

Com o backup do banco de dados, selecione a guia Administração no Navegador à esquerda e selecione Exportação de Dados.

A tela Exportação de Dados é aberta. A tela é razoavelmente larga, então expanda a janela até que você possa ver o botão "Iniciar exportação" no canto inferior direito.

Primeiro, selecione os bancos de dados dos quais você deseja fazer backup. Você também pode selecionar mais de um.

Em "Objetos a serem exportados", você também pode optar por fazer backup de procedimentos e gatilhos. Este campo é opcional.

Em "Opções de exportação", você pode selecionar as duas opções a seguir.

Descrição do tipo
Exportar para a pasta do projeto de despejo Saída para uma pasta especificada como uma tabela ou arquivo de procedimento.
Exportar para arquivo independente Incorpore tudo em um único arquivo e saída.

Não importa de que maneira você saia. A seleção acima é fácil de remover se você quiser restaurar apenas uma tabela específica. A seleção abaixo gera saídas para um único arquivo, facilitando a movimentação e o gerenciamento de arquivos como uma unidade de banco de dados. Neste caso, selecionei o seguinte.

Depois de definir as configurações, clique no botão "Iniciar exportação" no canto inferior direito para iniciar a exportação.

A exportação é iniciada e concluída.

Se você produzi-lo como um único arquivo, ele terá a seguinte aparência:

Se você exportar para uma pasta, ela terá a seguinte aparência:

Restaurando um banco de dados com a GUI (MySQL Workbench)

Abra o MySQL Workbench, selecione uma conexão, selecione a guia Administração no Navegador à esquerda e selecione Importação/Restauração de Dados. Como diz "Importar/Restaurar", você pode criar um novo banco de dados a partir do arquivo exportado ou substituir o banco de dados original.

Expanda a janela até ver o botão "Iniciar importação" no canto inferior direito.

Selecione "Opções de importação" de acordo com o formato de arquivo exportado. Como exportei como um único arquivo desta vez, selecionei "Importar de arquivo independente" abaixo e especifiquei o arquivo exportado.

Selecione o esquema (banco de dados) para o qual você deseja restaurar. Você pode restaurar para um banco de dados existente ou restaurá-lo como um novo banco de dados a partir do botão "Novo" à direita.

Depois de especificar as especificações, clique no botão "Iniciar importação" no canto inferior direito para iniciar a restauração.

Quando a restauração estiver concluída, certifique-se de que seus dados estejam de volta.

Criar uma conta para backup de banco de dados por comando

Não há problema se você executar um único comando e fazer backup, mas, por exemplo, se você preparar o comando como um arquivo com antecedência e executá-lo, precisará escrever a senha em texto sem formatação, para que seja mais seguro criar uma conta separada para execução de backup.

Algumas das permissões necessárias para backup podem aumentar ou diminuir, dependendo das informações necessárias.

  • ACONTECIMENTO
  • TABELAS DE BLOQUEIO
  • SELECIONAR
  • MOSTRAR VISUALIZAÇÃO

Se você criá-lo com um comando, ele ficará assim. Use a ferramenta de linha de comando MySQL.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

exemplo

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

Permissões de pasta para o destino do backup

As permissões da pasta onde o arquivo de backup é salvo devem ser definidas da mesma forma que as permissões para executar o comando. Se você executar o comando com privilégios de administradores, não será necessário definir nenhuma permissão adicional na pasta.

Fazendo backup de um banco de dados com o comando (mysqldump)

Existem vários backup por comando, mas desta vez vamos fazer backup com "mysqldump", que tem sido usado por um longo tempo e é estável.

Clique com o botão direito do mouse no menu Iniciar para iniciar o Terminal (Prompt de Comando). Note que não é "MySQL 8.0 Command Line Client".

Você pode fazer backup dele com o seguinte comando:

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

exemplo

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 Se você especificar o mesmo código de caractere que ao fazer backup na GUI, ele será o mesmo que ao fazer backup na GUI. Dessa forma, você também pode importá-lo na GUI.
  • Não inclua um espaço entre o campo de senha e -p a senha.
  • Se você também quiser gerar informações de espaço de tabela, --no-tablespaces remova o . Nesse caso, as permissões do usuário em execução devem ser . PROCESS

Um arquivo de backup será criado no local especificado.

Restaurando um banco de dados com o comando (mysqldump)

Os arquivos de backup do mysqldump estão em um formato que pode ser executado em SQL, então tudo o que você precisa fazer é executar o SQL de destino. Eu acho que a maioria das restaurações são feitas manualmente, então não há problema se você executá-lo como a conta root.

Se você quiser executá-lo a partir de um comando, execute-o no prompt de comando em vez do PowerShell. Isso ocorre porque o símbolo não pode ser usado no < PowerShell.

Execute o seguinte comando:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

exemplo

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

Backups automatizados de banco de dados

Para o Windows, é comum usar o Agendador de Tarefas. Primeiro, crie um arquivo em lotes. Crie um arquivo bat, insira o conteúdo como foi feito backup pelo comando e salve-o. A codificação de caracteres é salva com Shift-JIS. O local e o nome do arquivo em lotes são arbitrários.

Registre-se com o Agendador de Tarefas. Clique com o botão direito do mouse no menu Iniciar e selecione Gerenciamento do computador.

No menu à esquerda, selecione Gerenciamento do Computador > Ferramentas do Sistema > Agendador de Tarefas > Biblioteca do Agendador de Tarefas. Selecione "Criar tarefa..." no menu à direita.

Configure a guia Geral. "Nome" aparecerá na lista de tarefas, então digite um nome que seja fácil de entender. Nas opções de segurança, marque "Executar independentemente de o usuário estar conectado ou não".

Na guia "Trigger", você pode definir quando executar o backup. Defina essa configuração de acordo com sua operação.

Na guia "Operação", defina-o para iniciar o arquivo em lote que você acabou de criar.

Depois de definir cada um, confirme com o botão OK.

Digite sua senha para se registrar para executar sob a conta especificada.

Depois disso, verifique se o backup será executado no horário especificado.