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

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.

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.