Acoplable mysql5.7.28 despliegue y la persistencia de datos

Objetivo: cargador de muelle de contenedores despliegue mysql5.7.28, datos de MySQL escrito al host directorio de archivo de registro (datos persistente)

Descargar MySQL Espejo

Introduzca la base de datos mysql reflejo seleccione la versión 5.7.28 del espejo y descarga

docker pull mysql:5.7.28

Inicio contenedor de MySQL

1. contenedor de MySQL de inicio

docker run --name mysql_test -d -e MYSQL_ROOT_PASSWORD=123456  -p 3307:3306 mysql:5.7.28

 run: Comando para iniciar un contenedor

 --nameY el contenedor de nomenclatura

 -d:Deje que el contenedor se ejecuta en segundo plano (correspondiente a los otros parámetros: -ioperación interactiva, -tpara abrir una pseudo-terminal)

 -e MYSQL_ROOT_PASSWORD: Inicializar la contraseña del usuario root es 123456

 -p: 3306 mapeados al puerto host del puerto de contenedores 3307

 mysql:5.7.28: Mysql reflejado nombre de almacén y la etiqueta también puede ser activado directamente por ID mirroring

2. Ir al recipiente mysql para ver la ruta del archivo de configuración MySQL

docker exec -it mysql_test sh      # 进入mysql容器
mysql -uroot -p123456              # 进入root账号登录mysql

3. Comprobar los ficheros de datos de configuración de MySQL y la ruta del archivo de registro

show variables like 'general_log_file';           # 日志文件路径
show variables like 'log_error';                  # 错误日志文件路径
show variables like 'slow_query_log_file';        # 慢查询日志文件路径
show variables like 'datadir';                    # 查看数据库数据文件路径

Ver y encontró el registro, archivos de registro de consultas lentas y de datos se encuentran en el contenedor / var / lib / mysql permisos, el registro de errores no está configurado

15847114301.jpg

Siendo ese el caso, vamos a montar el recipiente en un directorio vacío / var / lib / mysql y modificar los archivos de registro de error de archivo de configuración juntos en este camino

Listo para montar directorios y archivos

1. En el marco del nuevo huésped para montar los directorios y archivos de registro

sudo mkdir -p /home/docker_data/mysql

Nota: La  ruta debe ser una ruta absoluta, el host si no existe el directorio, se generará de forma automática

2. Modificar el permiso propietario para montar el archivo / home / docker_data / MySQL 999

sudo chown 999 /home/docker_data/mysql

3. El contenedor de directorio de perfil mysql_test /etc/mysql/mysql.conf.d/mysqld.cnf copiado al host / home / test

# 退出容器mysql_test
exit                                                                           
# 复制mysql配置文件mysqld.cnf到宿主机目录/home/test
docker cp mysql_test:/etc/mysql/mysql.conf.d/mysqld.cnf /home/test   

registro de errores de la ruta del perfil 4. Modificar / var / lib / mysql

vim /home/test/mysqld.cnf                      # 编辑配置文件mysqld.cnf
#log-error      = /var/log/mysql/error.log     # 修改前
log-error      = /var/lib/mysql/error.log      # 修改后
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

5. Retire el contenedor mysql_test

docker stop mysql_test         # 停止
docker rm mysql_test           # 删除
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

cargador de muelle de contenedores mysql inicio

1. buque MySQL Inicio y montar el archivo al host

docker run --name mysql_5.7.28 -d -e MYSQL_ROOT_PASSWORD=123456 -v /home/docker_data/mysql:/var/lib/mysql -p 3307:3306 mysql:5.7.28
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

-v: El directorio anfitrión está montado en el recipiente ( -v /home/docker_mysql/datadir:/var/lib/mysqlcon el host / home / docker_mysql / datadir montado en el contenedor / var / lib / mysql directorio, el parámetro -v puede repetirse varias veces, cada vez para montar un contenedor de directorio)

2. El perfil de anfitrión /home/test/mysqld.cnf /etc/mysql/mysql.conf.d copia en el mysql_5.7.28 envase

docker cp /home/test/mysqld.cnf  mysql_5.7.28:/etc/mysql/mysql.conf.d
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

3. reinicie el contenedor y ver la operación recipiente ventana acoplable

docker ps -a

 

4. ventana acoplable caso Visor de registro de inicio

docker logs -t -f --tail=10 mysql_5.7.28

Las Opciones:
        --details mostrar más información
    -f, en tiempo real registro de seguimiento de --follow
        pantalla cadena --ya desde una marca de tiempo de registro, o el tiempo relativo, tales como 42m (es decir, 42 minutos)
        al final --tail cadena desde el registro de registro muestra cuántas líneas, default Todos
    -t, --timestamps sello de tiempo de presentación
        --until pantalla cadena a partir de una marca de tiempo de registro anterior, o el tiempo relativo, tal como 42 m (es decir, 42 minutos)

Ejemplos:

Ver el registro después de la hora señalada, sólo los últimos 100 líneas:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

Ver los registros de los últimos 30 minutos:

$ docker logs --since 30m CONTAINER_ID
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

Ver el registro después de un cierto tiempo:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

Ver un período de registro de tiempo:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

Nota : Si el permiso de propietario para montar el archivo no está correctamente no iniciarse y el informe de los permisos suficientes (como se muestra a continuación):

5. Conexión Navicat es exitosa y una nueva base de datos -test_2019

línea de comandos o directamente conectados al servidor

 

mysql -h 127.0.0.1 -uroot -p123456 -P3307
或者:mysql -h mysql容器IP -uroot -p123456 -P3306
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw ==

Nota: -H designadas con ip -u especifica el nombre de usuario -p contraseña -P especificar el número de puerto especificado

Método vista de contenedor IP

方法一  docker inspect 容器的id或者容器名 | grep IPAddress
方法二  sudo docker inspect -f='{{.NetworkSettings.IPAddress}}' $(sudo docker ps -a -q)
方法三  ps -aux | grep 3307

6. Revisión del datadir carpeta de la base en más de un archivo de base de datos -test_2019, MySQL hasta ahora desplegado

 

 

 

 

Publicado 59 artículos originales · ganado elogios 19 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_43507959/article/details/103646691
Recomendado
Clasificación