docker部署MySQL并同步数据 数据持久化

搜索mysql镜像

[root@wq ~]# docker search mysql
NAME                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation…   14891     [OK]
mariadb                         MariaDB Server is a high performing open sou…   5685      [OK]
percona                         Percona Server is a fork of the MySQL relati…   624       [OK]
phpmyadmin                      phpMyAdmin - A web interface for MySQL and M…   953       [OK]
bitnami/mysql                   Bitnami MySQL Docker Image                      107                  [OK]
bitnami/mysqld-exporter                                                         6
cimg/mysql                                                                      3
ubuntu/mysql                    MySQL open source fast, stable, multi-thread…   59
rapidfort/mysql                 RapidFort optimized, hardened image for MySQL   25
rapidfort/mysql8-ib             RapidFort optimized, hardened image for MySQ…   9
google/mysql                    MySQL server for Google Compute Engine          25                   [OK]
rapidfort/mysql-official        RapidFort optimized, hardened image for MySQ…   9
elestio/mysql                   Mysql, verified and packaged by Elestio         0
hashicorp/mysql-portworx-demo                                                   0
bitnamicharts/mysql                                                             0
databack/mysql-backup           Back up mysql databases to... anywhere!         109
linuxserver/mysql               A Mysql container, brought to you by LinuxSe…   41
mirantis/mysql                                                                  0
docksal/mysql                   MySQL service images for Docksal - https://d…   0
linuxserver/mysql-workbench                                                     55
vitess/mysqlctld                vitess/mysqlctld                                1                    [OK]
eclipse/mysql                   Mysql 5.7, curl, rsync                          1                    [OK]
drupalci/mysql-5.5              https://www.drupal.org/project/drupalci         3                    [OK]
drupalci/mysql-5.7              https://www.drupal.org/project/drupalci         0
datajoint/mysql                 MySQL image pre-configured to work smoothly …   2                    [OK]

查看当前已有镜像,并下载镜像查看

[root@wq ~]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED       SIZE
tomcat02              1.0       02ea20370fec   3 hours ago   684MB
nginx                 latest    605c77e624dd   2 years ago   141MB
tomcat                latest    fb5657adc892   2 years ago   680MB
wordpress             latest    c3c92cc3dcb1   2 years ago   616MB
redis                 latest    7614ae9453d1   2 years ago   113MB
mysql                 latest    3218b38490ce   2 years ago   516MB
centos                latest    5d0da3dc9764   2 years ago   231MB
portainer/portainer   latest    580c0e4e98b0   2 years ago   79.1MB
elasticsearch         7.6.2     f29a1ee41030   3 years ago   791MB
[root@wq ~]#
[root@wq ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Already exists
93619dbc5b36: Already exists
99da31dd6142: Already exists
626033c43d70: Already exists
37d5d7efb64e: Already exists
ac563158d721: Already exists
d2ba16033dad: Already exists
0ceb82207cd7: Pull complete
37f2405cae96: Pull complete
e2482e017e53: Pull complete
70deed891d42: Pull complete
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[root@wq ~]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED       SIZE
tomcat02              1.0       02ea20370fec   3 hours ago   684MB
nginx                 latest    605c77e624dd   2 years ago   141MB
tomcat                latest    fb5657adc892   2 years ago   680MB
wordpress             latest    c3c92cc3dcb1   2 years ago   616MB
redis                 latest    7614ae9453d1   2 years ago   113MB
mysql                 5.7       c20987f18b13   2 years ago   448MB
mysql                 latest    3218b38490ce   2 years ago   516MB
centos                latest    5d0da3dc9764   2 years ago   231MB
portainer/portainer   latest    580c0e4e98b0   2 years ago   79.1MB
elasticsearch         7.6.2     f29a1ee41030   3 years ago   791MB
[root@wq ~]#

运行容器,需要进行数据挂载

[root@wq ~]# docker images |grep mysql
mysql                 5.7       c20987f18b13   2 years ago   448MB
mysql                 latest    3218b38490ce   2 years ago   516MB
[root@wq ~]# docker run -d -p 8030:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=000000 --name mysql01 mysql:5.7
3943bfb6fbd7e6106f391f23e4ab52b3ad3391586866c9491f4e63a48f882626
[root@wq ~]# docker ps | grep mysql
3943bfb6fbd7   mysql:5.7             "docker-entrypoint.s…"   7 seconds ago   Up 5 seconds       33060/tcp, 0.0.0.0:8030->3306/tcp, :::8030->3306/tcp   mysql01
94239899c5bd   mysql                 "docker-entrypoint.s…"   45 hours ago    Up 45 hours        33060/tcp, 0.0.0.0:8006->3306/tcp, :::8006->3306/tcp   my_mysql
[root@wq ~]#

-d 后台运行

-p 端口映射

-v 卷挂载

-e 环境配置

--name 容器名字

测试是否同步

进入容器,登录数据库,创建test库

[root@wq ~]# docker exec -it 3943bfb6fbd7 /bin/bash
root@3943bfb6fbd7:/# mysql -uroot -p000000
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database test;
Query OK, 1 row affected (0.00 sec)

mysql>

新建终端查看

[root@wq data]# pwd
/home/mysql/data
[root@wq data]# ll
total 188476
-rw-r----- 1 polkitd input       56 Mar  2 18:22 auto.cnf
-rw------- 1 polkitd input     1676 Mar  2 18:22 ca-key.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 ca.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 client-cert.pem
-rw------- 1 polkitd input     1680 Mar  2 18:22 client-key.pem
-rw-r----- 1 polkitd input      469 Mar  2 18:30 ib_buffer_pool
-rw-r----- 1 polkitd input 79691776 Mar  2 18:30 ibdata1
-rw-r----- 1 polkitd input 50331648 Mar  2 18:30 ib_logfile0
-rw-r----- 1 polkitd input 50331648 Mar  2 18:22 ib_logfile1
-rw-r----- 1 polkitd input 12582912 Mar  2 18:30 ibtmp1
drwxr-x--- 2 polkitd input     4096 Mar  2 18:22 mysql
drwxr-x--- 2 polkitd input     4096 Mar  2 18:22 performance_schema
-rw------- 1 polkitd input     1676 Mar  2 18:22 private_key.pem
-rw-r--r-- 1 polkitd input      452 Mar  2 18:22 public_key.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 server-cert.pem
-rw------- 1 polkitd input     1676 Mar  2 18:22 server-key.pem
drwxr-x--- 2 polkitd input    12288 Mar  2 18:22 sys
[root@wq data]# ll
total 188480
-rw-r----- 1 polkitd input       56 Mar  2 18:22 auto.cnf
-rw------- 1 polkitd input     1676 Mar  2 18:22 ca-key.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 ca.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 client-cert.pem
-rw------- 1 polkitd input     1680 Mar  2 18:22 client-key.pem
-rw-r----- 1 polkitd input      469 Mar  2 18:30 ib_buffer_pool
-rw-r----- 1 polkitd input 79691776 Mar  2 18:30 ibdata1
-rw-r----- 1 polkitd input 50331648 Mar  2 18:30 ib_logfile0
-rw-r----- 1 polkitd input 50331648 Mar  2 18:22 ib_logfile1
-rw-r----- 1 polkitd input 12582912 Mar  2 18:30 ibtmp1
drwxr-x--- 2 polkitd input     4096 Mar  2 18:22 mysql
drwxr-x--- 2 polkitd input     4096 Mar  2 18:22 performance_schema
-rw------- 1 polkitd input     1676 Mar  2 18:22 private_key.pem
-rw-r--r-- 1 polkitd input      452 Mar  2 18:22 public_key.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 server-cert.pem
-rw------- 1 polkitd input     1676 Mar  2 18:22 server-key.pem
drwxr-x--- 2 polkitd input    12288 Mar  2 18:22 sys
drwxr-x--- 2 polkitd input     4096 Mar  2 18:31 test
[root@wq data]#

第一次查看没有test,第二次出现了,因为第一次查看的时候库还没有创建

因此测试成功,数据同步

容器数据持久化功能验证

假设将容器删掉,验证数据是否会丢失

1.删掉容器

[root@wq ~]# docker ps |grep mysql01
3943bfb6fbd7   mysql:5.7             "docker-entrypoint.s…"   About an hour ago   Up About an hour   33060/tcp, 0.0.0.0:8030->3306/tcp, :::8030->3306/tcp   mysql01
[root@wq ~]# docker rm -f 3943bfb6fbd7
3943bfb6fbd7
[root@wq ~]# docker ps -a |grep mysql01
[root@wq ~]#

2.查看目录是否存在

[root@wq ~]# cd /home/
admin/ ceshi/ mysql/ www/
[root@wq ~]# cd /home/mysql/
conf/ data/
[root@wq ~]# cd /home/mysql/data/
[root@wq data]# ll
total 188480
-rw-r----- 1 polkitd input       56 Mar  2 18:22 auto.cnf
-rw------- 1 polkitd input     1676 Mar  2 18:22 ca-key.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 ca.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 client-cert.pem
-rw------- 1 polkitd input     1680 Mar  2 18:22 client-key.pem
-rw-r----- 1 polkitd input      469 Mar  2 18:30 ib_buffer_pool
-rw-r----- 1 polkitd input 79691776 Mar  2 18:30 ibdata1
-rw-r----- 1 polkitd input 50331648 Mar  2 18:30 ib_logfile0
-rw-r----- 1 polkitd input 50331648 Mar  2 18:22 ib_logfile1
-rw-r----- 1 polkitd input 12582912 Mar  2 18:30 ibtmp1
drwxr-x--- 2 polkitd input     4096 Mar  2 18:22 mysql
drwxr-x--- 2 polkitd input     4096 Mar  2 18:22 performance_schema
-rw------- 1 polkitd input     1676 Mar  2 18:22 private_key.pem
-rw-r--r-- 1 polkitd input      452 Mar  2 18:22 public_key.pem
-rw-r--r-- 1 polkitd input     1112 Mar  2 18:22 server-cert.pem
-rw------- 1 polkitd input     1676 Mar  2 18:22 server-key.pem
drwxr-x--- 2 polkitd input    12288 Mar  2 18:22 sys
drwxr-x--- 2 polkitd input     4096 Mar  2 18:31 test
[root@wq data]#

发现挂载到本地的数据卷依旧没有丢失,在/home/mysql/data下。这就实现了容器数据持久化功能

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SKY慕雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值