{"id":1,"date":"2023-06-05T18:04:11","date_gmt":"2023-06-05T21:04:11","guid":{"rendered":"http:\/\/rjsites.com.br\/?p=1"},"modified":"2025-01-16T11:24:26","modified_gmt":"2025-01-16T14:24:26","slug":"mysql-docker-como-servidor","status":"publish","type":"post","link":"https:\/\/rjsites.com.br\/index.php\/2023\/06\/05\/mysql-docker-como-servidor\/","title":{"rendered":"MySQL no Docker como servidor default"},"content":{"rendered":"\n<p>Ol\u00e1, seja bem vindo(a).<\/p>\n\n\n\n<p>Resolvi criar este artigo depois de muito pesquisar na internet e n\u00e3o encontrar nenhum tutorial com essas informa\u00e7\u00f5es de forma simples e direta.<\/p>\n\n\n\n<p>Antes de entrar no mundo docker eu utilizava um \u00fanico servi\u00e7o MySQL no meu PC e todos os meus sistemas consumiam esse servidor de banco de dados, e a maioria das instru\u00e7\u00f5es que encontramos sobre banco de dados e docker configuram o banco de dados junto com a aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p>Segue agora um passo a passo para voc\u00ea levantar um container com MySQL que poder\u00e1 ser utilizado por qualquer aplicativo\/sistema que voc\u00ea queira desenvolver na mesma m\u00e1quina\/rede.<\/p>\n\n\n\n<p>Muito bem, vou come\u00e7ar pressupondo que voc\u00ea j\u00e1 tem o docker instalado e funcionando em sua m\u00e1quina, caso isso n\u00e3o seja verdadeiro vou deixar um link para voc\u00ea fazer essa instala\u00e7\u00e3o, e quando finalizar retorne nesse artigo para finalizar seu ambiente.<\/p>\n\n\n\n<p>Nesse passo a passo estarei demonstrando como eu fiz para funcionar utilizando Windows + WLS2 com Ubuntu.<\/p>\n\n\n\n<p>Acesso o WLS2 com seu prompt de comando favorito.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"757\" height=\"320\" src=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image.png\" alt=\"\" class=\"wp-image-1299\" srcset=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image.png 757w, https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-300x127.png 300w\" sizes=\"(max-width: 757px) 100vw, 757px\" \/><\/figure>\n\n\n\n<p>Verifique se o docker est\u00e1 rodando com o comando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker --version<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"629\" height=\"98\" src=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-1.png\" alt=\"\" class=\"wp-image-1300\" srcset=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-1.png 629w, https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-1-300x47.png 300w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><\/figure>\n\n\n\n<p>Se n\u00e3o deu erro, vamos prosseguir.<\/p>\n\n\n\n<p>Agora vamos fazer o download da imagem do MySQL. <br>Na linha de comando eu vou especificar que quero baixar a vers\u00e3o do MySQL 5.7, caso voc\u00ea queira baixar a ultima vers\u00e3o ent\u00e3o digite apenas &#8216;docher pull mysql&#8217;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker pull mysql:5.7<\/code><\/pre>\n\n\n\n<p>Agora que vamos definir o lugar onde vamos persistir os arquivos (tabelas e registros) gerados pelo MySQL<\/p>\n\n\n\n<p>Crie uma pasta espec\u00edfica em qualquer lugar para salvar as informa\u00e7\u00f5es do container, eu escolhi salvar dentro da pasta do meu usu\u00e1rio: \/home\/ramon\/mysql\/<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd ~\/\n$ mkdir mysql<\/code><\/pre>\n\n\n\n<p>Agora com a pasta criada, vamos iniciar nosso container com o MySQL.<\/p>\n\n\n\n<p>Para isso basta executar a linha abaixo, eu vou explicar cada par\u00e2metro do comando. Aten\u00e7\u00e3o, troque &lt;seu_usuario&gt; para o nome do usu\u00e1rio onde voc\u00ea criou a pasta mysql<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker run --name global_mysql -p 3307:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -v \/home\/&lt;seu_usuario&gt;\/mysql:\/var\/lib\/mysql -d mysql:5.7<\/code><\/pre>\n\n\n\n<p>Vamos para a explica\u00e7\u00e3o do comando.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>docker run<\/strong><br>Esse comando serve para &#8216;rodar\/iniciar&#8217; alguma imagem que esteja dispon\u00edvel em seu PC<br><\/li>\n\n\n\n<li><strong>&#8211;name global_mysql<\/strong><br>Par\u00e2metro para informar o nome da imagem, no caso acima quando gerar a imagem ela ter\u00e1 o nome &#8220;global_mysql&#8221;<br><\/li>\n\n\n\n<li><strong>-p 3307:3306<\/strong><br>Par\u00e2metro para redirecionamento de porta, esse par\u00e2metro \u00e9 importante caso voc\u00ea queira acessar o banco de dados de fora da sua WSL2<br><\/li>\n\n\n\n<li><strong>-e <code>MYSQL_ALLOW_EMPTY_PASSWORD<\/code>=yes<\/strong><br>Par\u00e2metro para informar que n\u00e3o vai ser exigido uma senha de root<br><\/li>\n\n\n\n<li><strong>-v \/home\/&lt;seu_usuario&gt;\/mysql:\/var\/lib\/mysql<\/strong><br>Par\u00e2metro respons\u00e1vel pela persist\u00eancia dos dados, aten\u00e7\u00e3o para trocar &lt;seu_usuario&gt; pelo nome de usu\u00e1rio onde voc\u00ea criou a pasta mysql<br><\/li>\n\n\n\n<li><strong>-d<\/strong><br>Par\u00e2metro que informa ao docker que ap\u00f3s criar o container vai liberar a linha de comando para voc\u00ea poder fazer outras coisas, e manter o container rodando.<br><\/li>\n\n\n\n<li><strong>mysql:5.7<\/strong><br>Por fim o nome da imagem que voc\u00ea vai executar.<br><\/li>\n<\/ul>\n\n\n\n<p>Pronto, se tudo correr perfeitamente voc\u00ea tem rodando em sua m\u00e1quina um servidor MySQL pronto para servir qualquer aplica\u00e7\u00e3o, at\u00e9 mesmo aplicativos que estejam rodando fora do WSL2. Voc\u00ea tamb\u00e9m vai conseguir acessar com seu programa que conecta com base de dados como MySQL Workbench, HeidSQL entre outros.<\/p>\n\n\n\n<p>Abaixo segue configura\u00e7\u00e3o para acesso do Windows ao seu novo servidor MySQL que est\u00e1 rodando em um container dentro do seu WSL2<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"501\" height=\"559\" src=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-2.png\" alt=\"\" class=\"wp-image-1301\" srcset=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-2.png 501w, https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-2-269x300.png 269w\" sizes=\"(max-width: 501px) 100vw, 501px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"694\" src=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-3-1024x694.png\" alt=\"\" class=\"wp-image-1302\" srcset=\"https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-3-1024x694.png 1024w, https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-3-300x203.png 300w, https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-3-768x520.png 768w, https:\/\/rjsites.com.br\/wp-content\/uploads\/2022\/04\/image-3.png 1255w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Obrigado e at\u00e9 a pr\u00f3xima.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1, seja bem vindo(a). Resolvi criar este artigo depois de muito pesquisar na internet e n\u00e3o encontrar nenhum tutorial com essas informa\u00e7\u00f5es de forma simples e direta. Antes de entrar no mundo docker eu utilizava um \u00fanico servi\u00e7o MySQL no meu PC e todos os meus sistemas consumiam esse servidor de banco de dados, e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_theme","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[10,9,4,7,5,11,8,6],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-docker","tag-acesso-externo","tag-banco-de-dados","tag-docker","tag-linux","tag-mysql","tag-mysql-externo","tag-servidor","tag-wsl2"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":5,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":1446,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions\/1446"}],"wp:attachment":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}