DEV Community

Cover image for How to start a MySQL Instance with Podman
Gabriel Dias Mazieri
Gabriel Dias Mazieri

Posted on

15

How to start a MySQL Instance with Podman

Como configurar uma instância de MySQL em um container podman.

Esse guia não é exclusivo da distribuição Ubuntu, a partir do momento que você instalou o podman na sua distribuição os passos são muito similares.

Leia este 4Noobs https://github.com/rluders/containers4noobs/blob/main/pages/install-linux.md para mais informações sobre o Podman no ambiente linux.

E aproveite para conhecer mais sobre containers em: https://github.com/rluders/containers4noobs/blob/main/README.md

  • Instale o podman no Ubuntu 22.04, abra seu terminal e dê o comando:


sudo apt-get -y update
sudo apt-get -y install podman


Enter fullscreen mode Exit fullscreen mode
  • Ao final da instalação, certifique de ter instalado corretamente, dê o comando:


podman --version


Enter fullscreen mode Exit fullscreen mode
  • Baixe uma imagem MySQL via podman.


podman pull docker.io/library/mysql


Enter fullscreen mode Exit fullscreen mode
  • Perceba que o comando que baixa uma imagem utiliza o domínio do docker.
    • Veja também que no lugar de “mysql” podemos colocar qualquer imagem disponível no domínio do docker, por exemplo: “mongo”.
  • Ao finalizar o download podemos visualizar as imagens baixadas, dê o comando:


podman ps


Enter fullscreen mode Exit fullscreen mode
  • Inicie uma nova instância do MySQL, dê o comando:


podman run -dt -e MYSQL_ROOT_PASSWORD=<SenhaDoUsuárioRoot> \
-e MYSQL_USER=<NomeDeUsuário> -e MYSQL_DATABASE=<NomeDoBanco> \
--name <NomeDoContainer> -p 3306:3306 mysql:<Tag>


Enter fullscreen mode Exit fullscreen mode

Explicando o comando acima:

Leia mais em: https://docs.podman.io/en/latest/markdown/podman-run.1.html

  • A flag -dt diz para esse container trabalhar em segundo plano e também aloca um pseudoterminal a ele.
  • No lugar de "< SenhaDoUsuárioRoot >" coloque uma senha que o usuário root do seu container utilizará, por exemplo: MYSQL_ROOT_PASSWORD=root
  • No lugar de "< NomeDeUsuário >" coloque o nome de usuário do mysql desejado, no meu caso será grandehe4rt.
  • No lugar de "< NomeDoBanco >" coloque o nome do banco de dados desejado para o projeto que estará trabalhando.
  • No lugar de "< NomeDoContainer >" você pode preferir colocar o nome do projeto que você está utilizando.
  • No lugar de "< Tag >" você pode optar por usar as tags disponíveis pelo próprio docker para imagens MySQL, prefira sempre a versão mais estável e recente, opte pela tag “latest” ficando então mysql:latest.

A partir do momento que você executar esse comando você terá um container MySQL funcional na porta 3306 do host local.

  • Execute o comando:


podman exec -it <NomeDoContainer> /bin/bash


Enter fullscreen mode Exit fullscreen mode

Aqui você irá iniciar o pseudoterminal do seu container como usuário root.

  • Você pode certificar de que é o usuário root em seu container MySQL rodando o comando:


whoami

> root


Enter fullscreen mode Exit fullscreen mode
  • Execute o comando em seguida insira a senha que você definiu no passo anterior (MYSQL_ROOT_PASSWORD):


mysql -uroot -p


Enter fullscreen mode Exit fullscreen mode
  • A partir daqui você tem acesso total ao banco de dados do seu container/projeto.

Passos que talvez não seja obrigatório para todos:

Caso você tenha problemas do tipo:

  • MySQL Public Key Retrieval is not allowed.

Ao se conectar ao banco de dados via DBeaver.

Faça o seguinte no DBeaver:

1- New Database Connection

Passo1

2- MySQL Database.
3- Next.

Passo2e3

4- Preencha o nome do seu banco de dados fornecido no passo anterior (MYSQL_DATABASE)
5- Preencha a senha do usuário root do mysql fornecido no passo anterior (MYSQL_ROOT_PASSWORD)
6- Modifique a configurações de Driver da conexão.

Passo4_5e6

7- Navegue até “Driver properties”
8- E adicione 2 novas propriedades
8.1. allowPublicKeyRetrieval = true
8.2. useSSL = false
9- OK

Passo7_8e9

  1. Clique em test connection, a partir daqui é esperado que funcione normalmente, e ao final você terá uma conexão com seu banco de dados que está instanciado em seu container podman.

Dúvidas, Sugestões e Feedbacks são apreciados.

Me siga nas redes sociais:

Image of Wix Studio

2025: Your year to build apps that sell

Dive into hands-on resources and actionable strategies designed to help you build and sell apps on the Wix App Market.

Get started

Top comments (1)

Collapse
 
lorexp profile image
Vinicius da Palma

Muito obrigado pela ajuda!!!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay