AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 775672
Accepted
sysfiend
sysfiend
Asked: 2016-05-10 06:30:49 +0800 CST2016-05-10 06:30:49 +0800 CST 2016-05-10 06:30:49 +0800 CST

MariaDB demorando para restaurar o backup

  • 772

Então eu fiz um mysqldumpbanco de dados bem grande e estou tentando restaurá-lo agora usando:

mysql db_test < db_test.sql

mas parece que não vai acabar até o final deste ano. Já faz cerca de uma hora e ainda está "restaurando". Fazer o backup levou cerca de 10 minutos, então temo que algo ruim esteja acontecendo.

Até aqui:

  • Eu verifiquei que mysqldestá consumindo minha CPU (até 80% às vezes).
  • Não há nada relevante a ele nos logs.
  • Eu posso ver o banco de dados criado e preenchido com uma tonelada de tabelas (mas não tudo). Além disso, quando executo use db_test;, recebo a seguinte mensagem:

    Lendo as informações da tabela para completar os nomes das tabelas e colunas Você pode desativar esse recurso para obter uma inicialização mais rápida com -A

  • Arquivos db originais onde cerca de 25 GB, após toda a hora, df -hretornam o mesmo espaço livre de antes. Então eu acho que não está fazendo nada no disco.

Algo estranho aqui é que, ao verificar top, descobri que kworkerestava consumindo até 100% da cpu às vezes, o que não deveria estar acontecendo


Alguma ideia ou qualquer coisa que eu possa fazer para ver o que está acontecendo?

backup mysql database mariadb
  • 2 2 respostas
  • 2565 Views

2 respostas

  • Voted
  1. Best Answer
    shodanshok
    2016-05-11T05:28:26+08:002016-05-11T05:28:26+08:00

    Parece que os discos subjacentes estão ocupados. O problema em restaurar um banco de dados grande é que cada (grupo de) INSERT requer uma operação de descarga/sincronização, que é muito lenta em discos mecânicos (um disco de 7200 RPM está na ordem de ~100 IOPS).

    Para acelerar a restauração, você teve que instruir temporariamente o MySQL/MariaDB para não emitir liberações/sincronizações. Para fazer isso, interrompa a restauração e edite o seu /etc/my.inicom as duas linhas a seguir:

    • innodb_flush_method=nosync
    • innodb_flush_log_at_trx_commit=2

    Em seguida, reinicie o MariaDB e repita a restauração. As coisas devem ir muito mais rápido agora.

    Após a restauração, REMOVA AS LINHAS ACIMA ou seu banco de dados terá uma vida curta e ruim: liberações/sincronizações existem por motivos muito importantes. Embora seja aceitável desativá-los para uma restauração, um banco de dados de produção nunca deve ser executado sem eles.

    • 4
  2. zerodeux
    2016-05-11T04:14:28+08:002016-05-11T04:14:28+08:00

    Se o seu armazenamento subjacente for discos antigos simples, para um banco de dados MySQL de 25 GB em disco, é normal experimentar uma restauração de horas - especialmente para alguns bancos de dados mal estruturados (muitas tuplas, índices, etc.).

    Para começar, comprima seu dump, isso economiza toneladas de E/S e coloca menos estresse na memória cache:

    mysqldump foo |gzip >foo.sql.gz
    zcat foo.sql.gz |mysql foo
    

    No seu caso, como você já fez o mysqldump:

    gzip db_test.sql
    zcat db_test.sql.gz |mysql db_test
    

    Além do desempenho do sistema (armazenamento, RAM, etc.), as configurações do MySQL podem ter um grande impacto. Mas isso é toda uma experiência lá, nada do que pode ser tratado por meio de um problema de ServerFault ...

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve