DEV Community

Cover image for Como criar um container com MySQL Server com Docker e conectá-lo no Workbench [Linux]
Natália Oliveira
Natália Oliveira

Posted on

31 1 1

Como criar um container com MySQL Server com Docker e conectá-lo no Workbench [Linux]

Esse texto tem fins educacionais. Fiz o procedimento para acompanhar a matéria de banco de dados na faculdade e espero que te ajude a estudar algumas coisinhas.

Caso não tenha o Docker instalado ainda, abra o terminal e atualize os pacotes:



sudo apt-get update


Enter fullscreen mode Exit fullscreen mode

Instale esses pacotes:



sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common


Enter fullscreen mode Exit fullscreen mode

Adicione a GPG key oficial do Docker:



curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


Enter fullscreen mode Exit fullscreen mode

Adicione o repositório:



sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


Enter fullscreen mode Exit fullscreen mode

Atualize os pacotes novamente e adicione o Docker Engine:



sudo apt-get install docker-ce docker-ce-cli containerd.io


Enter fullscreen mode Exit fullscreen mode

Para evitar ter que usar o sudo o tempo todo, crie um grupo docker e adicione seu user no grupo:



$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker


Enter fullscreen mode Exit fullscreen mode

Abra e feche o terminal, depois rode um docker run hello-world para checar que está tudo ok.

Criando container com MySQL Server

Para criar um container com o MySQL faça o seguinte:



docker run -p 3306:3306 --name=seu-container -d mysql/mysql-server


Enter fullscreen mode Exit fullscreen mode

Esse comando roda um container chamado “seu-container” a partir de uma imagem do MySQL Server e mapeia a porta 3306 do container com a sua de mesmo número. Dê um docker ps e veja o que tem rodando na sua máquina.

Se conectando no MySQL Server e configurando senha

Pegue a senha randômica gerada:



docker logs seu-container 2>&1 | grep GENERATED


Enter fullscreen mode Exit fullscreen mode

Copie a root password que apareceu e rode o comando:



docker exec -it seu-container mysql -uroot -p


Enter fullscreen mode Exit fullscreen mode

Cole a password e dê enter. Depois disso, já no server, digite:



ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';


Enter fullscreen mode Exit fullscreen mode

Isso vai mudar a senha padrão do usuário para 12345. Depois rode o seguinte:



update mysql.user set host = '%' where user='root';


Enter fullscreen mode Exit fullscreen mode

Esse comando vai permitir que você conecte o Workbench no container. Dê um ctrl-D e depois um docker restart seu-container.

Conectando no MySQL Workbench

Vá ao MySQL Workbench e clique na instância local:

Alt Text

Depois disso você poderá colocar a senha:

Alt Text

Pronto, aparecerá uma telinha e aconselho você a explorar o que tem nela.


Fontes:
MySQL Server Docker
StackOverflow
Install Docker


Esse texto não tem intenção de esgotar o tema. Acrescente nos comentários, e também aponte erros quando os identificar.

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (2)

Collapse
 
jmauriciorlima profile image
José Maurício

Material super didático. Agradecido @nfo94 .

Collapse
 
nosrednawall profile image
Anderson José de Souza Inácio

Perfeito, muito obrigado.

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