{"id":499,"date":"2026-04-28T09:08:29","date_gmt":"2026-04-28T12:08:29","guid":{"rendered":"https:\/\/hackerzone.com.br\/blog\/?p=499"},"modified":"2026-04-28T09:08:29","modified_gmt":"2026-04-28T12:08:29","slug":"como-fazer-backup-de-bancos-mysql-gigantes","status":"publish","type":"post","link":"http:\/\/hackerzone.com.br\/blog\/como-fazer-backup-de-bancos-mysql-gigantes\/","title":{"rendered":"Como fazer backup de bancos mysql GIGANTES"},"content":{"rendered":"<p>Um banco de dados que era acostumado a lidar e gostava de seu esquema de backup era o SQL Server, ele exporta um \u00fanico arquivo e importa de forma extremamente r\u00e1pida, mesmo para bancos muito grandes porque praticamente \u00e9 uma transfer\u00eancia de arquivos de uma m\u00e1quina para outra, por\u00e9m com o mysql as coisas ainda podem parecer um pouco pr\u00e9-hist\u00f3ricas, mas vou deixar aqui algumas dicas importantes pra voc\u00ea que pretende fazer o processo de backup\/importa\u00e7\u00e3o de bancos de dados muito grandes no mysql:<\/p>\n<p>Esses dias me deparei com a necessidade de restaurar meus bancos de dados por conta de erros, provavelmente por conta de arquivos corrompidos e descobri que posso copiar a pasta do banco de dados, por\u00e9m existem grandes ressalvas.<\/p>\n<p>Os bancos de dados ficam localizados em mysql\/data, no caso do xampp &#8220;C:\\xampp\\mysql\\data&#8221;, esse processo de copiar as pastas do banco de dados \u00e9 intitulada como &#8220;Cold Backup&#8221; ou &#8220;C\u00f3pia F\u00edsica&#8221;, \u00e9 muito mais r\u00e1pido para bancos gigantes do que exportar arquivos .sql (c\u00f3pia l\u00f3gica), mas para funcionar entre servidores diferentes, voc\u00ea precisa seguir estas regras:<\/p>\n<h3>1. A Regra de Ouro: O ibdata1<\/h3>\n<p>No <strong>MySQL\/MariaDB<\/strong> (usando o motor InnoDB, que \u00e9 o padr\u00e3o), os dados n\u00e3o ficam apenas dentro da pasta com o nome do seu banco. O arquivo <strong>ibdata1<\/strong> (que fica na raiz da pasta data) guarda o &#8220;dicion\u00e1rio de dados&#8221; e os metadados de todas as tabelas <strong>InnoDB<\/strong>.<\/p>\n<ul>\n<li>Para funcionar: Voc\u00ea n\u00e3o pode copiar apenas a pasta do banco (ex: \/meu_banco_gigante\/). Voc\u00ea precisa copiar a pasta do banco E o arquivo <strong>ibdata1<\/strong> do servidor de origem para o de destino.<\/li>\n<li>O risco: Se o servidor de destino j\u00e1 tiver outros bancos de dados, ao substituir o ibdata1 dele pelo seu, voc\u00ea apagar\u00e1 o acesso aos bancos que j\u00e1 existiam l\u00e1.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>2. Vers\u00f5es do Servidor<\/h3>\n<p>O servidor de origem e o de destino devem ser, preferencialmente, da <strong>mesma vers\u00e3o<\/strong> (ou o destino ser uma vers\u00e3o levemente superior). Mover arquivos f\u00edsicos do MariaDB 11 para um MySQL 5.7, por exemplo, certamente causar\u00e1 erros graves de compatibilidade.<\/p>\n<h3>3. O estado dos servi\u00e7os<\/h3>\n<p>Nunca copie os arquivos com o MySQL\/MariaDB rodando. Os dados podem estar em cache e n\u00e3o terem sido gravados no disco ainda, o que causaria corrup\u00e7\u00e3o (como o erro de checksum que voc\u00ea acabou de ter).<\/p>\n<ul>\n<li>Pare o servi\u00e7o nos dois servidores antes da c\u00f3pia.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Alternativa para Bancos Gigantes (Sem apagar o destino)<\/h3>\n<p>Se voc\u00ea precisa mover um banco enorme para um servidor que j\u00e1 tem outros dados e n\u00e3o pode sobrescrever o <strong>ibdata1<\/strong>, o melhor caminho \u00e9 usar o <strong>MySQL Workbench<\/strong> ou o comando <strong>mysqldump<\/strong> via terminal, que \u00e9 muito mais robusto que o phpMyAdmin para arquivos grandes.<br \/>\n<strong>O comando via terminal seria:<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nbash\r\nmysqldump -u root -p nome_do_banco &gt; backup.sql\r\n<\/pre>\n<p>Use o c\u00f3digo com cuidado.<br \/>\nPara importar:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nbash\r\nmysql -u root -p nome_do_banco &lt; backup.sql\r\n<\/pre>\n<h3>Alternativas Mais Fortes<\/h3>\n<p>Se voc\u00ea esta lidando com banco de dados realmente grandes o mysqldump pode ser lento lento porque ele reconstr\u00f3i o banco linha por linha (comandos INSERT), o que gera um estresse enorme de I\/O e processamento.<br \/>\nSe voc\u00ea trabalha com bancos realmente grandes e quer algo pr\u00f3ximo da performance e praticidade do SQL Server, existem tr\u00eas caminhos &#8220;profissionais&#8221; para o MySQL\/MariaDB:<\/p>\n<h3>1. Transportable Tablespaces (O &#8220;.bak&#8221; do MySQL)<\/h3>\n<p>Desde as vers\u00f5es mais recentes (MySQL 5.6+ \/ MariaDB 10.x), voc\u00ea pode &#8220;destacar&#8221; uma tabela ou banco e mov\u00ea-lo sem precisar do ibdata1 completo.<\/p>\n<ul>\n<li>No servidor de origem, voc\u00ea executa: FLUSH TABLES nome_tabela FOR EXPORT;<\/li>\n<li>Isso gera um arquivo .cfg. Voc\u00ea copia o .ibd (dados) e o .cfg para o novo servidor.<\/li>\n<li>No destino, voc\u00ea usa: ALTER TABLE nome_tabela IMPORT TABLESPACE;<\/li>\n<li>Vantagem: \u00c9 velocidade de c\u00f3pia de arquivo (disco para disco), quase instant\u00e2neo.<\/li>\n<\/ul>\n<h3>2. Mydumper \/ Myloader (O &#8220;Dump&#8221; Multi-thread)<\/h3>\n<p>O mysqldump \u00e9 monothread (usa um n\u00facleo s\u00f3). O Mydumper \u00e9 uma ferramenta de terceiros (muito usada em ambientes Linux\/Produ\u00e7\u00e3o) que faz o backup de forma paralela.<\/p>\n<ul>\n<li>Ele divide o banco em v\u00e1rios arquivos e usa todos os n\u00facleos do processador para exportar e importar.<\/li>\n<li>A velocidade de restaura\u00e7\u00e3o chega a ser 10x superior ao mysqldump tradicional.<\/li>\n<\/ul>\n<h3>3. Percona XtraBackup (O padr\u00e3o para bancos Gigantes)<\/h3>\n<p>Se voc\u00ea lida com servidores Linux, essa \u00e9 a ferramenta definitiva. Ela faz o que chamamos de &#8220;Hot Backup&#8221;.<\/p>\n<ul>\n<li>Ele copia os arquivos f\u00edsicos enquanto o banco est\u00e1 rodando, sem travar nada.<\/li>\n<li>Para restaurar, basta mover a pasta para o novo servidor e dar um comando de &#8220;prepare&#8221;.<\/li>\n<li>\u00c9 o que chega mais pr\u00f3ximo da experi\u00eancia de mover um banco de dados de alta disponibilidade.<\/li>\n<\/ul>\n<h3>4. Dica de Ouro para o mysqldump<\/h3>\n<p>Se voc\u00ea for obrigado a usar o dump comum, adicione esses par\u00e2metros para acelerar a importa\u00e7\u00e3o (que \u00e9 onde costuma demorar mais):<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nbash\r\n--disable-keys --no-autocommit --single-transaction\r\n<\/pre>\n<p>Use o c\u00f3digo com <strong>cuidado<\/strong>.<br \/>\nIsso faz o MySQL parar de checar \u00edndices a cada linha e s\u00f3 gravar tudo no final, o que ganha muito tempo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um banco de dados que era acostumado a lidar e gostava de seu esquema de backup era o SQL Server, ele exporta um \u00fanico arquivo e importa de forma extremamente r\u00e1pida, mesmo para bancos muito grandes porque praticamente \u00e9 uma transfer\u00eancia de arquivos de uma m\u00e1quina para outra, por\u00e9m com o mysql as coisas ainda [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":447,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210,101,127],"tags":[236,237,238,17,110],"class_list":["post-499","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql","category-windows","category-xampp","tag-backup-mysql","tag-dicas-mysql","tag-import-mysql","tag-mysql","tag-phpmyadmin","cat-210-id","cat-101-id","cat-127-id","has_thumb"],"_links":{"self":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts\/499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/comments?post=499"}],"version-history":[{"count":1,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts\/499\/revisions"}],"predecessor-version":[{"id":501,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/posts\/499\/revisions\/501"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/media\/447"}],"wp:attachment":[{"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/media?parent=499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/categories?post=499"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/hackerzone.com.br\/blog\/wp-json\/wp\/v2\/tags?post=499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}