Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] Erro ao subir o banco

Boa tarde,

Ao rodar o comando docker compose up, o banco não consegue ser inicializado, sendo exibido o seguinte erro no terminal do VS Code:

db     | 2024-03-20 18:50:33+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.3.0-1.el8 started.
app    | wait-for-it.sh: waiting for db:3306 without a timeout
db     | 2024-03-20 18:50:35+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
db     | 2024-03-20 18:50:35+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.3.0-1.el8 started.
db     | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
db     | 2024-03-20T18:50:36.120504Z 0 [System] [MY-015015] [Server] MySQL Server - start.
db     | 2024-03-20T18:50:36.732302Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.3.0) starting as process 1
db     | 2024-03-20T18:50:36.748274Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
db     | 2024-03-20T18:50:36.802810Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
db     | 2024-03-20T18:50:37.765799Z 1 [ERROR] [MY-012960] [InnoDB] Cannot create redo log files because data files are corrupt or the database was not shut down cleanly after creating the data files.
db     | 2024-03-20T18:50:37.765869Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
db     | 2024-03-20T18:50:37.893221Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
db     | 2024-03-20T18:50:37.896671Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
db     | 2024-03-20T18:50:37.896712Z 0 [ERROR] [MY-010119] [Server] Aborting
db     | 2024-03-20T18:50:37.910574Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.3.0)  MySQL Community Server - GPL.
db     | 2024-03-20T18:50:37.910605Z 0 [System] [MY-015016] [Server] MySQL Server - end.
db exited with code 1

O que devo fazer para resolver?

2 respostas
solução!

Oi, Vinicius, tudo bem?

O log de erro que você compartilhou, mostra que o MySQL está encontrando um problema com os arquivos de log de redo, possivelmente devido a arquivos de dados corrompidos ou ao fato de o banco de dados não ter sido desligado corretamente após a criação dos arquivos de dados.

Uma possível solução para esse problema seria tentar limpar os dados do MySQL e reiniciar o contêiner. Isso pode ser feito da seguinte maneira:

  • Pare todos os contêineres do Docker com o comando docker-compose down no terminal.
  • Em seguida, remova a pasta mysql dentro da pasta data do seu projeto. Essa pasta contém os dados do MySQL e, ao removê-la, você estará efetivamente limpando os dados do MySQL. Você pode fazer isso com o comando sudo rm -rf data/mysql no terminal (certifique-se de estar no diretório correto antes de executar este comando).
  • Finalmente, tente iniciar os contêineres novamente com o comando docker-compose up.

Lembre-se de que a remoção da pasta mysql resultará na perda de todos os dados do MySQL, então, certifique-se de que não há nada importante lá antes de prosseguir.

Todavia, vale ressaltar que como não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Boa tarde!

Apagar a pasta mysql resolveu!

Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software