Instalación de MySQL con Docker – Blog de rendimiento de base de datos de Percona

A menudo necesito instalar una determinada versión de MySQL, MariaDB o Percona Server para MySQL para ejecutar algunos experimentos, ya sea para verificar diferencias de comportamiento o para proporcionar instrucciones comprobadas. En esta serie de blogs, veré cómo puede instalar MySQL, MariaDB o Percona Server para MySQL con Docker. Esta publicación, la primera parte, se centra en MySQL Server.

Docker en realidad no es mi modo preferido porque no corresponde a una configuración de producción típica, y si observa el comportamiento del control del servicio o el diseño del archivo, es muy diferente. Lo bueno de Docker es que le permite instalar la última versión de MySQL, como cualquier otra versión, muy fácilmente.

Docker también es fácil de usar cuando necesita un ejemplo simple y único. Si está buscando algún comportamiento de replicación, DDBeployer puede ser una mejor herramienta para eso.

Estas instrucciones están diseñadas para brindarle una instancia de prueba que funcione rápida y fácilmente; no desea utilizarlos para implementaciones de producción. Todas las instrucciones a continuación asumen que Docker ya está instalado.

En primer lugar, debe saber que no hay uno, sino dos repositorios MySQL Docker «oficiales». Uno de ellos es mantenido por Docker Team y está disponible desde un simple docker run mysql: latest. El otro es mantenido por el equipo de MySQL en Oracle y ejecuta una ventana acoplable ejecutar mysql / mysql-server: última sintaxis. En los ejemplos a continuación, usaremos la imagen MySQL Team Docker, incluso si Docker Team funciona de manera similar.

Instalación de la última versión de MySQL con Docker

Esto iniciará la última versión de la instancia de MySQL, a la que se puede acceder de forma remota desde cualquier lugar con una contraseña raíz específica. Esto es fácil de probar, pero no es una buena práctica de seguridad (razón por la cual no es el predeterminado).

Conectado a MySQL Server Docker Container

La instalación con Docker significa que no tiene herramientas, utilidades o bibliotecas disponibles directamente en su host, por lo tanto, instálelas por separado, acceda a la instancia creada por un host remoto o use las líneas de comando que se envían con él.

Para iniciar MySQL Command Line Client con Docker Run:

Para iniciar MySQL Shell con Docker Run:

Administra el servidor MySQL en Docker Container

Cuando desee detener la ejecución de MySQL Server Docker Container:

Si desea reiniciar un contenedor MySQL Docker cerrado, no debe intentar usar docker run para comenzar de nuevo. En su lugar, debe utilizar:

Si algo sale mal, por ejemplo, si la conexión no se inicia, puede acceder a sus registros con el siguiente comando:

Si desea recrear un nuevo contenedor docker desde cero, puede ejecutar:

Seguido por ti
estibador correr
comando descrito anteriormente.

Pase las opciones de la línea de comandos al servidor MySQL en Docker Container

Si desea pasar algunas opciones de línea de comandos a MySQL Server, puede hacer lo siguiente:

Ejecuta diferentes versiones de MySQL Server en Docker

Si solo desea volver a ejecutar una versión de MySQL en el contenedor de Docker, es fácil: puede elegir la versión que desee con la etiqueta de imagen de Docker y cambiar el nombre para que sea diferente para evitar conflictos de nombres:

Esto iniciará MySQL 8.0.17 en Docker Container.

Y esto iniciará el último MySQL 5.7 en Docker.

Ejecutar varias versiones de MySQL Server al mismo tiempo en Docker

El problema potencial de ejecutar varias versiones de MySQL en Docker al mismo tiempo es el conflicto del puerto TCP. Si no accede a Docker Container desde el exterior y solo ejecuta la utilidad incluida en el mismo contenedor, puede eliminar el mapa del puerto (opción -p) y puede ejecutar varios contenedores:

En los casos más comunes, cuando necesite acceder a los contenedores de Docker de forma externa, querrá que los mapas usen diferentes nombres de puertos externos. Por ejemplo, para iniciar el último MySQL 8 en los puertos 3306/33060 y MySQL 8.0.17 en el 3307/33070, podemos usar:

Hay muchas más cosas a considerar si está utilizando MySQL en Docker para algo más allá de la prueba. Para más información echa un vistazo a ti Página del servidor MySQL en Docker Hub y Manual de MySQL.

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario